From 7753a6839ac0abb282e2d4372f7a4199243cf4ff Mon Sep 17 00:00:00 2001 From: Ted Ross Date: Wed, 19 Aug 2009 18:31:31 +0000 Subject: Introduce the public includes for the QMF interfaces. Rename Agent to AgentEngine to differentiate the API from the underlying engine. Note that some of these public headers will overlap with the emerging "messaging" API (notably Connection.h and ConnectionSettings.h). It is desirable that these components of the API become common between "messaging" and "qmf". As such, once the differences are reconciled, they will most likely be removed from the qmf space and placed in the messaging space. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@805916 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/src/qmf/ConsoleEngine.h | 83 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 qpid/cpp/src/qmf/ConsoleEngine.h (limited to 'qpid/cpp/src/qmf/ConsoleEngine.h') diff --git a/qpid/cpp/src/qmf/ConsoleEngine.h b/qpid/cpp/src/qmf/ConsoleEngine.h new file mode 100644 index 0000000000..823e281b14 --- /dev/null +++ b/qpid/cpp/src/qmf/ConsoleEngine.h @@ -0,0 +1,83 @@ +#ifndef _QmfConsoleEngine_ +#define _QmfConsoleEngine_ + +/* + * 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. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace qmf { + + struct ConsoleSettings { + bool rcvObjects; + bool rcvEvents; + bool rcvHeartbeats; + bool userBindings; + uint32_t methodTimeout; + uint32_t getTimeout; + + ConsoleSettings() : + rcvObjects(true), + rcvEvents(true), + rcvHeartbeats(true), + userBindings(false), + methodTimeout(20), + getTimeout(20) {} + }; + + class ConsoleEngine { + public: + ConsoleEngine(ConsoleHandler* handler = 0, ConsoleSettings settings = ConsoleSettings()); + ~ConsoleEngine(); + + Broker* addConnection(ManagedConnection& connection); + void delConnection(Broker* broker); + void delConnection(ManagedConnection& connection); + + const PackageMap& getPackages() const; + + void bindPackage(const Package& package); + void bindPackage(const std::string& packageName); + void bindClass(const SchemaClass& otype); + void bindClass(const std::string& packageName, const std::string& className); + + /* + void getAgents(std::set& agents, Broker* = 0); + void getObjects(std::vector& objects, const std::string& typeName, + const std::string& packageName = "", + Broker* broker = 0, + Agent* agent = 0); + void getObjects(std::vector& objects, + const std::map& query, + Broker* broker = 0, + Agent* agent = 0); + */ + }; +} + +#endif + -- cgit v1.2.1