summaryrefslogtreecommitdiff
path: root/cpp/managementgen/templates/Class.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/managementgen/templates/Class.cpp')
-rw-r--r--cpp/managementgen/templates/Class.cpp31
1 files changed, 23 insertions, 8 deletions
diff --git a/cpp/managementgen/templates/Class.cpp b/cpp/managementgen/templates/Class.cpp
index d87d11f767..2a3f71e262 100644
--- a/cpp/managementgen/templates/Class.cpp
+++ b/cpp/managementgen/templates/Class.cpp
@@ -31,11 +31,14 @@ using namespace qpid::sys;
using namespace qpid::framing;
using std::string;
-bool /*MGEN:Class.NameCap*/::schemaNeeded = true;
-
-/*MGEN:Class.NameCap*/::/*MGEN:Class.NameCap*/ (Manageable* _core, Manageable*/*MGEN:Class.ParentArg*/,
- /*MGEN:Class.ConstructorArgs*/) :
- ManagementObject(_core, "/*MGEN:Class.NameLower*/")
+string /*MGEN:Class.NameCap*/::packageName = string ("/*MGEN:Class.NamePackageLower*/");
+string /*MGEN:Class.NameCap*/::className = string ("/*MGEN:Class.NameLower*/");
+uint8_t /*MGEN:Class.NameCap*/::md5Sum[16] =
+ {/*MGEN:Class.SchemaMD5*/};
+bool /*MGEN:Class.NameCap*/::firstInst = true;
+
+/*MGEN:Class.NameCap*/::/*MGEN:Class.NameCap*/ (Manageable* _core/*MGEN:Class.ParentArg*//*MGEN:Class.ConstructorArgs*/) :
+ ManagementObject(_core)
/*MGEN:Class.ConstructorInits*/
{
/*MGEN:Class.ParentRefAssignment*/
@@ -60,14 +63,26 @@ namespace {
const string DEFAULT("default");
}
+bool /*MGEN:Class.NameCap*/::firstInstance (void)
+{
+ Mutex::ScopedLock alock(accessorLock);
+ if (firstInst)
+ {
+ firstInst = false;
+ return true;
+ }
+
+ return false;
+}
+
void /*MGEN:Class.NameCap*/::writeSchema (Buffer& buf)
{
FieldTable ft;
- schemaNeeded = false;
-
// Schema class header:
- buf.putShortString (className); // Class Name
+ buf.putShortString (packageName); // Package Name
+ buf.putShortString (className); // Class Name
+ buf.putBin128 (md5Sum); // Schema Hash
buf.putShort (/*MGEN:Class.ConfigCount*/); // Config Element Count
buf.putShort (/*MGEN:Class.InstCount*/); // Inst Element Count
buf.putShort (/*MGEN:Class.MethodCount*/); // Method Count