summaryrefslogtreecommitdiff
path: root/cpp/src/qmf/Query.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
commit1f0b2bfcb1f3e540d26985d859e1935706317524 (patch)
tree4b94f7e10b70dd8dbf235b0ad7a0fcd083200365 /cpp/src/qmf/Query.h
parent7190e1994763e42d208b5e3f17edd53a0d48546a (diff)
downloadqpid-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.h6
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;
};
}