Apache Qpid - AMQP Messaging for Java JMS, C++, Python, Ruby, and .NET | Apache Qpid Documentation |
00001 #ifndef _framing_Proxy_h 00002 #define _framing_Proxy_h 00003 00004 /* 00005 * 00006 * Copyright (c) 2006 The Apache Software Foundation 00007 * 00008 * Licensed under the Apache License, Version 2.0 (the "License"); 00009 * you may not use this file except in compliance with the License. 00010 * You may obtain a copy of the License at 00011 * 00012 * http://www.apache.org/licenses/LICENSE-2.0 00013 * 00014 * Unless required by applicable law or agreed to in writing, software 00015 * distributed under the License is distributed on an "AS IS" BASIS, 00016 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00017 * See the License for the specific language governing permissions and 00018 * limitations under the License. 00019 * 00020 */ 00021 00022 #include "FrameHandler.h" 00023 #include "ProtocolVersion.h" 00024 00025 namespace qpid { 00026 namespace framing { 00027 00028 class AMQBody; 00029 00033 class Proxy 00034 { 00035 public: 00036 class ScopedSync 00037 { 00038 Proxy& proxy; 00039 public: 00040 ScopedSync(Proxy& p); 00041 ~ScopedSync(); 00042 }; 00043 00044 Proxy(FrameHandler& h); 00045 virtual ~Proxy(); 00046 00047 void send(const AMQBody&); 00048 00049 ProtocolVersion getVersion() const; 00050 00051 FrameHandler& getHandler(); 00052 void setHandler(FrameHandler&); 00053 private: 00054 FrameHandler* out; 00055 bool sync; 00056 }; 00057 00058 }} // namespace qpid::framing 00059 00060 00061 00062 #endif