From c8fa5fa308f6ad9be22612568ace703777fbb6d9 Mon Sep 17 00:00:00 2001 From: Ted Ross Date: Fri, 18 Sep 2009 20:15:15 +0000 Subject: 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 --- qpid/cpp/src/qmf/ObjectId.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'qpid/cpp/src/qmf/ObjectId.h') diff --git a/qpid/cpp/src/qmf/ObjectId.h b/qpid/cpp/src/qmf/ObjectId.h index e894e0b39c..0e603bc898 100644 --- a/qpid/cpp/src/qmf/ObjectId.h +++ b/qpid/cpp/src/qmf/ObjectId.h @@ -31,7 +31,6 @@ namespace qmf { public: ObjectId(); ObjectId(const ObjectId& from); - ObjectId(ObjectIdImpl* impl); ~ObjectId(); uint64_t getObjectNum() const; @@ -45,6 +44,14 @@ namespace qmf { bool operator<=(const ObjectId& other) const; bool operator>=(const ObjectId& other) const; + private: + friend class ObjectIdImpl; + friend class ObjectImpl; + friend class BrokerProxyImpl; + friend class QueryImpl; + friend class ValueImpl; + friend class AgentEngineImpl; + ObjectId(ObjectIdImpl* impl); ObjectIdImpl* impl; }; } -- cgit v1.2.1