diff options
author | Rajith Muditha Attapattu <rajith@apache.org> | 2011-05-27 15:44:23 +0000 |
---|---|---|
committer | Rajith Muditha Attapattu <rajith@apache.org> | 2011-05-27 15:44:23 +0000 |
commit | 66765100f4257159622cefe57bed50125a5ad017 (patch) | |
tree | a88ee23bb194eb91f0ebb2d9b23ff423e3ea8e37 /cpp/managementgen/qmfgen/templates/Class.cpp | |
parent | 1aeaa7b16e5ce54f10c901d75c4d40f9f88b9db6 (diff) | |
parent | 88b98b2f4152ef59a671fad55a0d08338b6b78ca (diff) | |
download | qpid-python-rajith_jms_client.tar.gz |
Creating a branch for experimenting with some ideas for JMS client.rajith_jms_client
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/rajith_jms_client@1128369 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/managementgen/qmfgen/templates/Class.cpp')
-rw-r--r-- | cpp/managementgen/qmfgen/templates/Class.cpp | 339 |
1 files changed, 0 insertions, 339 deletions
diff --git a/cpp/managementgen/qmfgen/templates/Class.cpp b/cpp/managementgen/qmfgen/templates/Class.cpp deleted file mode 100644 index fc0b9c8177..0000000000 --- a/cpp/managementgen/qmfgen/templates/Class.cpp +++ /dev/null @@ -1,339 +0,0 @@ -/*MGEN:commentPrefix=//*/ -// -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. -// - -/*MGEN:Root.Disclaimer*/ - -#include "qpid/management/Manageable.h" -#include "qpid/management/Buffer.h" -#include "qpid/types/Variant.h" -#include "qpid/amqp_0_10/Codecs.h" -#include "qpid//*MGEN:Class.AgentHeaderLocation*//ManagementAgent.h" -#include "/*MGEN:Class.NameCap*/.h" -/*MGEN:Class.MethodArgIncludes*/ -#include <iostream> -#include <sstream> - -using namespace qmf::/*MGEN:Class.Namespace*/; -using qpid::management::ManagementAgent; -using qpid::management::Manageable; -using qpid::management::ManagementObject; -using qpid::management::Args; -using qpid::management::Mutex; -using std::string; - -string /*MGEN:Class.NameCap*/::packageName = string ("/*MGEN:Class.NamePackageLower*/"); -string /*MGEN:Class.NameCap*/::className = string ("/*MGEN:Class.NameLower*/"); -uint8_t /*MGEN:Class.NameCap*/::md5Sum[MD5_LEN] = - {/*MGEN:Class.SchemaMD5*/}; - -/*MGEN:Class.NameCap*/::/*MGEN:Class.NameCap*/ (ManagementAgent*, Manageable* _core/*MGEN:Class.ParentArg*//*MGEN:Class.ConstructorArgs*/) : - ManagementObject(_core)/*MGEN:Class.ConstructorInits*/ -{ - /*MGEN:Class.ParentRefAssignment*/ -/*MGEN:Class.InitializeElements*/ -/*MGEN:IF(Class.ExistOptionals)*/ - // Optional properties start out not-present - for (uint8_t idx = 0; idx < /*MGEN:Class.PresenceMaskBytes*/; idx++) - presenceMask[idx] = 0; -/*MGEN:ENDIF*/ -/*MGEN:IF(Class.ExistPerThreadStats)*/ - perThreadStatsArray = new struct PerThreadStats*[maxThreads]; - for (int idx = 0; idx < maxThreads; idx++) - perThreadStatsArray[idx] = 0; -/*MGEN:ENDIF*/ -} - -/*MGEN:Class.NameCap*/::~/*MGEN:Class.NameCap*/ () -{ -/*MGEN:IF(Class.ExistPerThreadStats)*/ - for (int idx = 0; idx < maxThreads; idx++) - if (perThreadStatsArray[idx] != 0) - delete perThreadStatsArray[idx]; - delete[] perThreadStatsArray; -/*MGEN:ENDIF*/ -} - -namespace { - const string NAME("name"); - const string TYPE("type"); - const string ACCESS("access"); - const string IS_INDEX("index"); - const string IS_OPTIONAL("optional"); - const string UNIT("unit"); - const string MIN("min"); - const string MAX("max"); - const string MAXLEN("maxlen"); - const string DESC("desc"); - const string ARGCOUNT("argCount"); - const string ARGS("args"); - const string DIR("dir"); - const string DEFAULT("default"); -} - -void /*MGEN:Class.NameCap*/::registerSelf(ManagementAgent* agent) -{ - agent->registerClass(packageName, className, md5Sum, writeSchema); -} - -void /*MGEN:Class.NameCap*/::writeSchema (std::string& schema) -{ - const int _bufSize=65536; - char _msgChars[_bufSize]; - ::qpid::management::Buffer buf(_msgChars, _bufSize); - ::qpid::types::Variant::Map ft; - - // Schema class header: - buf.putOctet (CLASS_KIND_TABLE); - 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 - - // Properties -/*MGEN:Class.PropertySchema*/ - // Statistics -/*MGEN:Class.StatisticSchema*/ - // Methods -/*MGEN:Class.MethodSchema*/ - { - uint32_t _len = buf.getPosition(); - buf.reset(); - buf.getRawData(schema, _len); - } -} - -/*MGEN:IF(Class.ExistPerThreadStats)*/ -void /*MGEN:Class.NameCap*/::aggregatePerThreadStats(struct PerThreadStats* totals) const -{ -/*MGEN:Class.InitializeTotalPerThreadStats*/ - for (int idx = 0; idx < maxThreads; idx++) { - struct PerThreadStats* threadStats = perThreadStatsArray[idx]; - if (threadStats != 0) { -/*MGEN:Class.AggregatePerThreadStats*/ - } - } -} -/*MGEN:ENDIF*/ - -/*MGEN:IF(Root.GenQMFv1)*/ -uint32_t /*MGEN:Class.NameCap*/::writePropertiesSize() const -{ - uint32_t size = writeTimestampsSize(); -/*MGEN:IF(Class.ExistOptionals)*/ - size += /*MGEN:Class.PresenceMaskBytes*/; -/*MGEN:ENDIF*/ -/*MGEN:Class.SizeProperties*/ - return size; -} - -void /*MGEN:Class.NameCap*/::readProperties (const std::string& _sBuf) -{ - char *_tmpBuf = new char[_sBuf.length()]; - memcpy(_tmpBuf, _sBuf.data(), _sBuf.length()); - ::qpid::management::Buffer buf(_tmpBuf, _sBuf.length()); - Mutex::ScopedLock mutex(accessLock); - - { - std::string _tbuf; - buf.getRawData(_tbuf, writeTimestampsSize()); - readTimestamps(_tbuf); - } - -/*MGEN:IF(Class.ExistOptionals)*/ - for (uint8_t idx = 0; idx < /*MGEN:Class.PresenceMaskBytes*/; idx++) - presenceMask[idx] = buf.getOctet(); -/*MGEN:ENDIF*/ -/*MGEN:Class.ReadProperties*/ - - delete [] _tmpBuf; -} - -void /*MGEN:Class.NameCap*/::writeProperties (std::string& _sBuf) const -{ - const int _bufSize=65536; - char _msgChars[_bufSize]; - ::qpid::management::Buffer buf(_msgChars, _bufSize); - - Mutex::ScopedLock mutex(accessLock); - configChanged = false; - - { - std::string _tbuf; - writeTimestamps(_tbuf); - buf.putRawData(_tbuf); - } - - -/*MGEN:IF(Class.ExistOptionals)*/ - for (uint8_t idx = 0; idx < /*MGEN:Class.PresenceMaskBytes*/; idx++) - buf.putOctet(presenceMask[idx]); -/*MGEN:ENDIF*/ -/*MGEN:Class.WriteProperties*/ - - uint32_t _bufLen = buf.getPosition(); - buf.reset(); - - buf.getRawData(_sBuf, _bufLen); -} - -void /*MGEN:Class.NameCap*/::writeStatistics (std::string& _sBuf, bool skipHeaders) -{ - const int _bufSize=65536; - char _msgChars[_bufSize]; - ::qpid::management::Buffer buf(_msgChars, _bufSize); - - Mutex::ScopedLock mutex(accessLock); - instChanged = false; -/*MGEN:IF(Class.ExistPerThreadAssign)*/ - for (int idx = 0; idx < maxThreads; idx++) { - struct PerThreadStats* threadStats = perThreadStatsArray[idx]; - if (threadStats != 0) { -/*MGEN:Class.PerThreadAssign*/ - } - } -/*MGEN:ENDIF*/ -/*MGEN:IF(Class.ExistPerThreadStats)*/ - struct PerThreadStats totals; - aggregatePerThreadStats(&totals); -/*MGEN:ENDIF*/ -/*MGEN:Class.Assign*/ - if (!skipHeaders) { - std::string _tbuf; - writeTimestamps (_tbuf); - buf.putRawData(_tbuf); - } - -/*MGEN:Class.WriteStatistics*/ - - // Maintenance of hi-lo statistics -/*MGEN:Class.HiLoStatResets*/ -/*MGEN:IF(Class.ExistPerThreadResets)*/ - for (int idx = 0; idx < maxThreads; idx++) { - struct PerThreadStats* threadStats = perThreadStatsArray[idx]; - if (threadStats != 0) { -/*MGEN:Class.PerThreadHiLoStatResets*/ - } - } -/*MGEN:ENDIF*/ - - uint32_t _bufLen = buf.getPosition(); - buf.reset(); - - buf.getRawData(_sBuf, _bufLen); -} - -void /*MGEN:Class.NameCap*/::doMethod (/*MGEN:Class.DoMethodArgs*/) -{ - Manageable::status_t status = Manageable::STATUS_UNKNOWN_METHOD; - std::string text; - - bool _matched = false; - - const int _bufSize=65536; - char _msgChars[_bufSize]; - ::qpid::management::Buffer outBuf(_msgChars, _bufSize); - -/*MGEN:Class.MethodHandlers*/ - - if (!_matched) { - outBuf.putLong(status); - outBuf.putShortString(Manageable::StatusText(status, text)); - } - - uint32_t _bufLen = outBuf.getPosition(); - outBuf.reset(); - - outBuf.getRawData(outStr, _bufLen); -} -/*MGEN:ENDIF*/ -std::string /*MGEN:Class.NameCap*/::getKey() const -{ - std::stringstream key; - -/*MGEN:Class.PrimaryKey*/ - return key.str(); -} - - - -void /*MGEN:Class.NameCap*/::mapEncodeValues (::qpid::types::Variant::Map& _map, - bool includeProperties, - bool includeStatistics) -{ - using namespace ::qpid::types; - Mutex::ScopedLock mutex(accessLock); - - if (includeProperties) { - configChanged = false; -/*MGEN:Class.MapEncodeProperties*/ - } - - if (includeStatistics) { - instChanged = false; -/*MGEN:IF(Class.ExistPerThreadAssign)*/ - for (int idx = 0; idx < maxThreads; idx++) { - struct PerThreadStats* threadStats = perThreadStatsArray[idx]; - if (threadStats != 0) { -/*MGEN:Class.PerThreadAssign*/ - } - } -/*MGEN:ENDIF*/ -/*MGEN:IF(Class.ExistPerThreadStats)*/ - struct PerThreadStats totals; - aggregatePerThreadStats(&totals); -/*MGEN:ENDIF*/ -/*MGEN:Class.Assign*/ - -/*MGEN:Class.MapEncodeStatistics*/ - - // Maintenance of hi-lo statistics -/*MGEN:Class.HiLoStatResets*/ -/*MGEN:IF(Class.ExistPerThreadResets)*/ - for (int idx = 0; idx < maxThreads; idx++) { - struct PerThreadStats* threadStats = perThreadStatsArray[idx]; - if (threadStats != 0) { -/*MGEN:Class.PerThreadHiLoStatResets*/ - } - } -/*MGEN:ENDIF*/ - } -} - -void /*MGEN:Class.NameCap*/::mapDecodeValues (const ::qpid::types::Variant::Map& _map) -{ - ::qpid::types::Variant::Map::const_iterator _i; - Mutex::ScopedLock mutex(accessLock); -/*MGEN:IF(Class.ExistOptionals)*/ - bool _found; -/*MGEN:ENDIF*/ -/*MGEN:Class.MapDecodeProperties*/ -} - -void /*MGEN:Class.NameCap*/::doMethod (/*MGEN:Class.DoMapMethodArgs*/) -{ - Manageable::status_t status = Manageable::STATUS_UNKNOWN_METHOD; - std::string text; - -/*MGEN:Class.MapMethodHandlers*/ - outMap["_status_code"] = (uint32_t) status; - outMap["_status_text"] = Manageable::StatusText(status, text); -} |