summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qmf/ConsoleEngine.h
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2009-09-18 20:15:15 +0000
committerTed Ross <tross@apache.org>2009-09-18 20:15:15 +0000
commitc8fa5fa308f6ad9be22612568ace703777fbb6d9 (patch)
tree148275652ac2572ef4bb0863736a337a5d1617e2 /qpid/cpp/src/qmf/ConsoleEngine.h
parentd3c07faea48e2dbd57cf27fac2d9940ca6456a69 (diff)
downloadqpid-python-c8fa5fa308f6ad9be22612568ace703777fbb6d9.tar.gz
Refactored the QMF engine to adhere to the following rules regarding
the pimpl (Pointer to Implementation) pattern: 1) Impl classes have constructors matching the public constructors 2) Additional Impl constructors are accessed through a static factory function 3) All linkages to objects are to the public object 4) If a back-link (from Impl to public) is needed, the Impl class must be derived from boost::noncopyable 5) All public classes have non-default copy constructors that make a copy of the Impl class git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@816770 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/qmf/ConsoleEngine.h')
-rw-r--r--qpid/cpp/src/qmf/ConsoleEngine.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/qpid/cpp/src/qmf/ConsoleEngine.h b/qpid/cpp/src/qmf/ConsoleEngine.h
index f04bbcea47..a5aa990a76 100644
--- a/qpid/cpp/src/qmf/ConsoleEngine.h
+++ b/qpid/cpp/src/qmf/ConsoleEngine.h
@@ -45,7 +45,6 @@ namespace qmf {
*/
class MethodResponse {
public:
- MethodResponse(MethodResponseImpl* impl);
MethodResponse(const MethodResponse& from);
~MethodResponse();
uint32_t getStatus() const;
@@ -53,7 +52,9 @@ namespace qmf {
const Value* getArgs() const;
private:
+ friend class MethodResponseImpl;
friend class ConsoleEngineImpl;
+ MethodResponse(MethodResponseImpl* impl);
MethodResponseImpl* impl;
};
@@ -62,7 +63,6 @@ namespace qmf {
*/
class QueryResponse {
public:
- QueryResponse(QueryResponseImpl* impl);
~QueryResponse();
uint32_t getStatus() const;
const Value* getException() const;
@@ -70,7 +70,9 @@ namespace qmf {
const Object* getObject(uint32_t idx) const;
private:
+ friend class QueryResponseImpl;
friend class QueryContext;
+ QueryResponse(QueryResponseImpl* impl);
QueryResponseImpl *impl;
};
@@ -129,12 +131,13 @@ namespace qmf {
*/
class AgentProxy {
public:
- AgentProxy(AgentProxyImpl* impl);
~AgentProxy();
const char* getLabel() const;
private:
+ friend class AgentProxyImpl;
friend class BrokerProxyImpl;
+ AgentProxy(AgentProxyImpl* impl);
AgentProxyImpl* impl;
};
@@ -163,6 +166,7 @@ namespace qmf {
private:
friend class ConsoleEngineImpl;
+ friend class StaticContext;
BrokerProxyImpl* impl;
};