diff options
| author | Ted Ross <tross@apache.org> | 2009-09-18 20:15:15 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2009-09-18 20:15:15 +0000 |
| commit | c8fa5fa308f6ad9be22612568ace703777fbb6d9 (patch) | |
| tree | 148275652ac2572ef4bb0863736a337a5d1617e2 /qpid/cpp/src/qmf/Object.h | |
| parent | d3c07faea48e2dbd57cf27fac2d9940ca6456a69 (diff) | |
| download | qpid-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/Object.h')
| -rw-r--r-- | qpid/cpp/src/qmf/Object.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/qpid/cpp/src/qmf/Object.h b/qpid/cpp/src/qmf/Object.h index db89dbb700..ded6714429 100644 --- a/qpid/cpp/src/qmf/Object.h +++ b/qpid/cpp/src/qmf/Object.h @@ -30,7 +30,6 @@ namespace qmf { class Object { public: Object(const SchemaObjectClass* type); - Object(ObjectImpl* impl); Object(const Object& from); virtual ~Object(); @@ -41,6 +40,10 @@ namespace qmf { Value* getValue(char* key) const; void invokeMethod(const char* methodName, const Value* inArgs, void* context) const; + private: + friend class ObjectImpl; + friend class AgentEngineImpl; + Object(ObjectImpl* impl); ObjectImpl* impl; }; } |
