summaryrefslogtreecommitdiff
path: root/cpp/src/qmf/ObjectImpl.h
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2009-09-15 17:45:51 +0000
committerTed Ross <tross@apache.org>2009-09-15 17:45:51 +0000
commit3f0838479df2a5678a6093f34276b9e336af3ded (patch)
treeecceca23bb8b0d37701bb7678cb1d232a8fb4bfc /cpp/src/qmf/ObjectImpl.h
parent3cf100216bc1e9c7207a3c963d984665d7a5b9a1 (diff)
downloadqpid-python-3f0838479df2a5678a6093f34276b9e336af3ded.tar.gz
QMF Console updated to the point where query (get_object) is supported.
The Ruby binding continues to track the c++ engine progress. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@815416 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qmf/ObjectImpl.h')
-rw-r--r--cpp/src/qmf/ObjectImpl.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/cpp/src/qmf/ObjectImpl.h b/cpp/src/qmf/ObjectImpl.h
index 4dc2170bfc..d69979e0da 100644
--- a/cpp/src/qmf/ObjectImpl.h
+++ b/cpp/src/qmf/ObjectImpl.h
@@ -21,19 +21,22 @@
*/
#include <qmf/Object.h>
+#include <qmf/ObjectIdImpl.h>
#include <map>
#include <set>
#include <string>
#include <qpid/framing/Buffer.h>
#include <boost/shared_ptr.hpp>
+#include <qpid/sys/Mutex.h>
namespace qmf {
struct ObjectImpl {
+ typedef boost::shared_ptr<ObjectImpl> Ptr;
typedef boost::shared_ptr<Value> ValuePtr;
Object* envelope;
const SchemaObjectClass* objectClass;
- boost::shared_ptr<ObjectId> objectId;
+ boost::shared_ptr<ObjectIdImpl> objectId;
uint64_t createTime;
uint64_t destroyTime;
uint64_t lastUpdatedTime;
@@ -41,14 +44,14 @@ namespace qmf {
mutable std::map<std::string, ValuePtr> statistics;
ObjectImpl(Object* e, const SchemaObjectClass* type);
- ObjectImpl(const SchemaObjectClass* type, qpid::framing::Buffer& buffer);
+ ObjectImpl(const SchemaObjectClass* type, qpid::framing::Buffer& buffer, bool prop, bool stat, bool managed);
~ObjectImpl();
void destroy();
- const ObjectId* getObjectId() const { return objectId.get(); }
- void setObjectId(ObjectId* oid) { objectId.reset(oid); }
+ const ObjectId* getObjectId() const { return objectId.get() ? objectId->envelope : 0; }
+ void setObjectId(ObjectId* oid) { objectId.reset(oid->impl); }
const SchemaObjectClass* getClass() const { return objectClass; }
- Value* getValue(const std::string& key);
+ Value* getValue(const std::string& key) const;
void parsePresenceMasks(qpid::framing::Buffer& buffer, std::set<std::string>& excludeList);
void encodeSchemaKey(qpid::framing::Buffer& buffer) const;