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 | 1f0b2bfcb1f3e540d26985d859e1935706317524 (patch) | |
| tree | 4b94f7e10b70dd8dbf235b0ad7a0fcd083200365 /cpp/src/qmf/Query.h | |
| parent | 7190e1994763e42d208b5e3f17edd53a0d48546a (diff) | |
| download | qpid-python-1f0b2bfcb1f3e540d26985d859e1935706317524.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/qpid@816770 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qmf/Query.h')
| -rw-r--r-- | cpp/src/qmf/Query.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/cpp/src/qmf/Query.h b/cpp/src/qmf/Query.h index 875749862e..96ad2b0d24 100644 --- a/cpp/src/qmf/Query.h +++ b/cpp/src/qmf/Query.h @@ -77,7 +77,7 @@ namespace qmf { Query(const char* className, const char* packageName); Query(const SchemaClassKey* key); Query(const ObjectId* oid); - Query(QueryImpl* impl); + Query(const Query& from); ~Query(); void setSelect(const QueryOperand* criterion); @@ -96,6 +96,10 @@ namespace qmf { const char* getOrderBy() const; bool getDecreasing() const; + private: + friend class QueryImpl; + friend class BrokerProxyImpl; + Query(QueryImpl* impl); QueryImpl* impl; }; } |
