diff options
author | Stephen D. Huston <shuston@apache.org> | 2013-06-06 17:17:05 +0000 |
---|---|---|
committer | Stephen D. Huston <shuston@apache.org> | 2013-06-06 17:17:05 +0000 |
commit | 8970e91dec9823012315ad07030d9bedecbeaad1 (patch) | |
tree | 1729e3e70f7c9c2b8e0aa8fe02ade0d786793c96 | |
parent | 042660f0ffbcdca0dd8f6d596ff9c00e5767b8f9 (diff) | |
download | qpid-python-8970e91dec9823012315ad07030d9bedecbeaad1.tar.gz |
Allows QMF to build on Windows; resolves QPID-4909.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1490363 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | cpp/src/CMakeLists.txt | 17 | ||||
-rw-r--r-- | cpp/src/qmf/Agent.cpp | 6 | ||||
-rw-r--r-- | cpp/src/qmf/AgentSession.cpp | 4 | ||||
-rw-r--r-- | cpp/src/qpid/messaging/AddressParser.h | 7 |
4 files changed, 21 insertions, 13 deletions
diff --git a/cpp/src/CMakeLists.txt b/cpp/src/CMakeLists.txt index e00d7a0b7c..538b48d31f 100644 --- a/cpp/src/CMakeLists.txt +++ b/cpp/src/CMakeLists.txt @@ -1322,7 +1322,16 @@ install (FILES ${qmf_HEADERS} COMPONENT ${QPID_COMPONENT_QMF}) install_pdb (qmf ${QPID_COMPONENT_QMF}) -if(NOT WIN32) +if (NOT WIN32) + set (qmf2_platform_headers + ../include/qmf/posix/EventNotifier.h + ) + set (qmf2_platform_sources + qmf/PosixEventNotifier.cpp + qmf/PosixEventNotifierImpl.cpp + ) +endif (NOT WIN32) + set (qmf2_HEADERS ../include/qmf/AgentEvent.h ../include/qmf/Agent.h @@ -1334,7 +1343,6 @@ if(NOT WIN32) ../include/qmf/exceptions.h ../include/qmf/Handle.h ../include/qmf/ImportExport.h - ../include/qmf/posix/EventNotifier.h ../include/qmf/Query.h ../include/qmf/Schema.h ../include/qmf/SchemaId.h @@ -1342,6 +1350,7 @@ if(NOT WIN32) ../include/qmf/SchemaProperty.h ../include/qmf/SchemaTypes.h ../include/qmf/Subscription.h + ${qmf2_platform_headers} ) set (qmf2_SOURCES @@ -1366,8 +1375,6 @@ if(NOT WIN32) qmf/DataImpl.h qmf/EventNotifierImpl.h qmf/EventNotifierImpl.cpp - qmf/PosixEventNotifier.cpp - qmf/PosixEventNotifierImpl.cpp qmf/exceptions.cpp qmf/Expression.cpp qmf/Expression.h @@ -1388,6 +1395,7 @@ if(NOT WIN32) qmf/SchemaPropertyImpl.h qmf/Subscription.cpp qmf/SubscriptionImpl.h + ${qmf2_platform_sources} ) add_msvc_version (qmf2 library dll) @@ -1403,7 +1411,6 @@ if(NOT WIN32) DESTINATION ${QPID_INSTALL_INCLUDEDIR}/qmf COMPONENT ${QPID_COMPONENT_QMF}) install_pdb (qmf2 ${QPID_COMPONENT_QMF}) -endif (NOT WIN32) set (qmfengine_SOURCES qmf/engine/Agent.cpp diff --git a/cpp/src/qmf/Agent.cpp b/cpp/src/qmf/Agent.cpp index 684f8e4fba..fa3987e0c9 100644 --- a/cpp/src/qmf/Agent.cpp +++ b/cpp/src/qmf/Agent.cpp @@ -220,7 +220,7 @@ uint32_t AgentImpl::getPackageCount() const // // Populate the package set. // - for (set<SchemaId>::const_iterator iter = schemaIdSet.begin(); iter != schemaIdSet.end(); iter++) + for (set<SchemaId, SchemaIdCompare>::const_iterator iter = schemaIdSet.begin(); iter != schemaIdSet.end(); iter++) packageSet.insert(iter->getPackageName()); return packageSet.size(); @@ -244,7 +244,7 @@ uint32_t AgentImpl::getSchemaIdCount(const string& pname) const { qpid::sys::Mutex::ScopedLock l(lock); uint32_t count(0); - for (set<SchemaId>::const_iterator iter = schemaIdSet.begin(); iter != schemaIdSet.end(); iter++) + for (set<SchemaId, SchemaIdCompare>::const_iterator iter = schemaIdSet.begin(); iter != schemaIdSet.end(); iter++) if (iter->getPackageName() == pname) count++; return count; @@ -255,7 +255,7 @@ SchemaId AgentImpl::getSchemaId(const string& pname, uint32_t idx) const { qpid::sys::Mutex::ScopedLock l(lock); uint32_t count(0); - for (set<SchemaId>::const_iterator iter = schemaIdSet.begin(); iter != schemaIdSet.end(); iter++) { + for (set<SchemaId, SchemaIdCompare>::const_iterator iter = schemaIdSet.begin(); iter != schemaIdSet.end(); iter++) { if (iter->getPackageName() == pname) { if (idx == count) return *iter; diff --git a/cpp/src/qmf/AgentSession.cpp b/cpp/src/qmf/AgentSession.cpp index 4d7be33188..1afdc14021 100644 --- a/cpp/src/qmf/AgentSession.cpp +++ b/cpp/src/qmf/AgentSession.cpp @@ -375,7 +375,7 @@ void AgentSessionImpl::authAccept(AgentEvent& authEvent) if (query.getSchemaId().isValid()) { { qpid::sys::Mutex::ScopedLock l(lock); - map<SchemaId, DataIndex>::const_iterator iter = schemaIndex.find(query.getSchemaId()); + map<SchemaId, DataIndex, SchemaIdCompareNoHash>::const_iterator iter = schemaIndex.find(query.getSchemaId()); if (iter != schemaIndex.end()) for (DataIndex::const_iterator dIter = iter->second.begin(); dIter != iter->second.end(); dIter++) if (query.matchesPredicate(dIter->second.getProperties())) @@ -751,7 +751,7 @@ void AgentSessionImpl::handleV1SchemaRequest(qpid::management::Buffer& buffer, u QPID_LOG(trace, "RCVD QMFv1 SchemaRequest for " << packageName << ":" << className); qpid::types::Uuid hash(hashBits); - map<SchemaId, Schema>::const_iterator iter; + map<SchemaId, Schema, SchemaIdCompare>::const_iterator iter; string replyContent; SchemaId dataId(SCHEMA_TYPE_DATA, packageName, className); diff --git a/cpp/src/qpid/messaging/AddressParser.h b/cpp/src/qpid/messaging/AddressParser.h index 1635331d19..5e429e1ca9 100644 --- a/cpp/src/qpid/messaging/AddressParser.h +++ b/cpp/src/qpid/messaging/AddressParser.h @@ -21,6 +21,7 @@ * under the License. * */ +#include "qpid/messaging/ImportExport.h" #include "qpid/messaging/Address.h" namespace qpid { @@ -29,10 +30,10 @@ namespace messaging { class AddressParser { public: - AddressParser(const std::string&); + QPID_MESSAGING_EXTERN AddressParser(const std::string&); bool parse(Address& address); - bool parseMap(qpid::types::Variant::Map& map); - bool parseList(qpid::types::Variant::List& list); + QPID_MESSAGING_EXTERN bool parseMap(qpid::types::Variant::Map& map); + QPID_MESSAGING_EXTERN bool parseList(qpid::types::Variant::List& list); private: const std::string& input; std::string::size_type current; |