diff options
author | Christian Mueller <christian@lmuc329619u.(none)> | 2011-07-26 21:02:37 +0200 |
---|---|---|
committer | Christian Mueller <christian@lmuc329619u.(none)> | 2011-07-26 21:02:37 +0200 |
commit | df88fefdd7df890aaf2a3206483678851cffc5c5 (patch) | |
tree | b79613020a91ab167ae196469849eb3518fe2de0 /PluginCommandInterfaceDbus/DBUSIntrospection.h | |
parent | 2feaef3bb5f91af43573155106c73143597bdf3e (diff) | |
download | audiomanager-df88fefdd7df890aaf2a3206483678851cffc5c5.tar.gz |
- first time synchronisation with EA
- remodelled some interfaces
- new plugin structure for CommandInterfaces
Diffstat (limited to 'PluginCommandInterfaceDbus/DBUSIntrospection.h')
-rw-r--r-- | PluginCommandInterfaceDbus/DBUSIntrospection.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/PluginCommandInterfaceDbus/DBUSIntrospection.h b/PluginCommandInterfaceDbus/DBUSIntrospection.h new file mode 100644 index 0000000..753dc0e --- /dev/null +++ b/PluginCommandInterfaceDbus/DBUSIntrospection.h @@ -0,0 +1,65 @@ +/*************************************************************************** + * + * Copyright 2010,2011 BMW Car IT GmbH + * + * + * Licensed 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. + * + ****************************************************************************/ + +#ifndef _DBUSINTROSPECTION_H_ +#define _DBUSINTROSPECTION_H_ + +#include <sstream> +using std::stringstream; + +#include <string> +using std::string; + +#include "DBUSTypes.h" +#include <dbus/dbus.h> + +class DBUSIntrospection +{ +public: + DBUSIntrospection(MethodTable* table, SignalTable* stable); + void process(DBusConnection* conn, DBusMessage* msg); + +private: + void generateString(void); + + void addHeader(void); + void addArgument(string argname, string direction, string type); + void addEntry(MethodTable entry); + void addEntry(SignalTable entry); + + void openNode(string nodename); + void closeNode(void); + + void openInterface(string interfacename); + void closeInterface(void); + + void openMethod(string methodname); + void closeMethod(void); + + void addSignal(string signalname); + + +private: + stringstream m_introspectionString; + MethodTable* m_methodTable; + SignalTable* m_signalTable; +}; + + +#endif // _DBUSINTROSPECTION_H_ |