diff options
Diffstat (limited to 'includes')
-rw-r--r-- | includes/CAmSerializer.h | 380 | ||||
-rw-r--r-- | includes/audiomanagertypes.h | 100 | ||||
-rw-r--r-- | includes/command/CommandReceiveInterface.h | 8 | ||||
-rw-r--r-- | includes/command/CommandSendInterface.h | 8 | ||||
-rw-r--r-- | includes/control/ControlReceiveInterface.h | 8 | ||||
-rw-r--r-- | includes/control/ControlSendInterface.h | 8 | ||||
-rw-r--r-- | includes/projecttypes.h | 20 | ||||
-rw-r--r-- | includes/routing/RoutingReceiveInterface.h | 12 | ||||
-rw-r--r-- | includes/routing/RoutingSendInterface.h | 8 |
9 files changed, 455 insertions, 97 deletions
diff --git a/includes/CAmSerializer.h b/includes/CAmSerializer.h index e4924e9..ab6ff03 100644 --- a/includes/CAmSerializer.h +++ b/includes/CAmSerializer.h @@ -25,7 +25,7 @@ #include "DLTWrapper.h" #include "SocketHandler.h" -#include "iostream" //todo remove +//todo: performance improvement we could implement a memory pool that is more efficient here and avoids allocation and deallocation times. namespace am { @@ -48,7 +48,7 @@ private: { public: virtual ~CAmDelegate(){}; - virtual void call()=0; + virtual bool call(int* pipe)=0; }; @@ -68,9 +68,11 @@ private: mInstance(instance), // mFunction(function){}; - void call() + bool call(int* pipe) { + (void)pipe; (*mInstance.*mFunction)(); + return true; }; }; @@ -90,9 +92,11 @@ private: mFunction(function), // mArgument(argument) { }; - void call() + bool call(int* pipe) { + (void)pipe; (*mInstance.*mFunction)(mArgument); + return true; }; }; @@ -114,9 +118,11 @@ private: mArgument(argument), // mArgument1(argument1){}; - void call() + bool call(int* pipe) { + (void)pipe; (*mInstance.*mFunction)(mArgument,mArgument1); + return true; }; }; @@ -140,9 +146,11 @@ private: mArgument1(argument1), // mArgument2(argument2){}; - void call() + bool call(int* pipe) { + (void)pipe; (*mInstance.*mFunction)(mArgument,mArgument1,mArgument2); + return true; }; }; @@ -168,13 +176,192 @@ private: mArgument2(argument2), // mArgument3(argument3){}; - void call() + bool call(int* pipe) { + (void)pipe; (*mInstance.*mFunction)(mArgument,mArgument1,mArgument2,mArgument3); + return true; }; }; /** + * Template for synchronous calls with no argument + */ + template<class TClass, typename TretVal> class CAmSyncNoArgDelegate: public CAmDelegate + { + private: + TClass* mInstance; + TretVal (TClass::*mFunction)(); + TretVal mRetval; + + public: + friend class CAmSerializer; + CAmSyncNoArgDelegate(TClass* instance, TretVal(TClass::*function)()) : + mInstance(instance), // + mFunction(function), // + mRetval(){}; + + bool call(int* pipe) + { + mRetval = (*mInstance.*mFunction)(); + write(pipe[1], this, sizeof(this)); + return false; + }; + + TretVal returnResults() + { + return mRetval; + } + }; + + /** + * template for synchronous calls with one argument + */ + template<class TClass, typename TretVal, typename Targ> class CAmSyncOneArgDelegate: public CAmDelegate + { + private: + TClass* mInstance; + TretVal (TClass::*mFunction)(Targ argument); + Targ mArgument; + TretVal mRetval; + + public: + friend class CAmSerializer; + CAmSyncOneArgDelegate(TClass* instance, TretVal(TClass::*function)(Targ argument), Targ argument) : + mInstance(instance), // + mFunction(function), // + mArgument(argument), // + mRetval(){}; + + bool call(int* pipe) + { + mRetval = (*mInstance.*mFunction)(mArgument); + write(pipe[1], this, sizeof(this)); + return false; + }; + + TretVal returnResults(Targ& argument) + { + argument=mArgument; + return mRetval; + } + }; + + /** + * template for synchronous calls with two arguments + */ + template<class TClass, typename TretVal, typename TargCall, typename TargCall1, typename Targ, typename Targ1> class CAmSyncTwoArgDelegate: public CAmDelegate + { + private: + TClass* mInstance; + TretVal (TClass::*mFunction)(TargCall,TargCall1); + Targ mArgument; + Targ1 mArgument1; + TretVal mRetval; + + public: + friend class CAmSerializer; + CAmSyncTwoArgDelegate(TClass* instance, TretVal(TClass::*function)(TargCall, TargCall1), Targ& argument, Targ1& argument1) : + mInstance(instance), // + mFunction(function), // + mArgument(argument), // + mArgument1(argument1), // + mRetval(){}; + + bool call(int* pipe) + { + mRetval = (*mInstance.*mFunction)(mArgument, mArgument1); + write(pipe[1], this, sizeof(this)); + return false; + }; + + TretVal returnResults(Targ& argument, Targ1& argument1) + { + argument=mArgument; + argument1=mArgument1; + return mRetval; + } + }; + + /** + * template for synchronous calls with three arguments + */ + template<class TClass, typename TretVal, typename Targ, typename Targ1, typename Targ2> class CAmSyncThreeArgDelegate: public CAmDelegate + { + private: + TClass* mInstance; + TretVal (TClass::*mFunction)(Targ argument, Targ1 argument1, Targ2 argument2); + Targ mArgument; + Targ1 mArgument1; + Targ2 mArgument2; + TretVal mRetval; + + public: + CAmSyncThreeArgDelegate(TClass* instance, TretVal(TClass::*function)(Targ argument, Targ1 argument1, Targ2 argument2), Targ argument, Targ1 argument1,Targ2 argument2) : + mInstance(instance), // + mFunction(function), // + mArgument(argument), // + mArgument1(argument1), // + mArgument2(argument2), // + mRetval(){}; + + bool call(int* pipe) + { + mRetval = (*mInstance.*mFunction)(mArgument, mArgument1, mArgument2); + write(pipe[1], this, sizeof(this)); + return false; + }; + + TretVal returnResults(Targ& argument, Targ1& argument1, Targ2& argument2) + { + argument=mArgument; + argument1=mArgument1; + argument2=mArgument2; + return mRetval; + } + }; + + /** + * template for synchronous calls with four arguments + */ + template<class TClass, typename TretVal, typename Targ, typename Targ1, typename Targ2, typename Targ3> class CAmSyncFourArgDelegate: public CAmDelegate + { + private: + TClass* mInstance; + TretVal (TClass::*mFunction)(Targ argument, Targ1 argument1, Targ2 argument2, Targ3 argument3); + Targ mArgument; + Targ1 mArgument1; + Targ2 mArgument2; + Targ3 mArgument3; + TretVal mRetval; + + CAmSyncFourArgDelegate(TClass* instance, TretVal(TClass::*function)(Targ argument, Targ1 argument1, Targ2 argument2, Targ3 argument3), Targ argument, Targ1 argument1, Targ2 argument2, Targ3 argument3) : + mInstance(instance), // + mFunction(function), // + mArgument(argument), // + mArgument1(argument1), // + mArgument2(argument2), // + mArgument3(argument3), // + mRetval(){}; + + bool call(int* pipe) + { + mRetval = (*mInstance.*mFunction)(mArgument, mArgument1, mArgument2, mArgument3); + write(pipe[1], this, sizeof(this)); + return false; + }; + + TretVal returnResults(Targ& argument, Targ1& argument1, Targ2& argument2, Targ3& argument3) + { + argument=mArgument; + argument1=mArgument1; + argument2=mArgument2; + argument3=mArgument3; + return mRetval; + } + }; + + /** * rings the line of the pipe and adds the delegate pointer to the queue * @param p delegate pointer */ @@ -186,6 +373,7 @@ private: } } int mPipe[2]; //!< the pipe + int mReturnPipe[2]; //!< pipe handling returns std::deque<CAmDelegagePtr> mListDelegatePoiters; //!< intermediate queue to store the pipe results public: @@ -255,7 +443,21 @@ public: * @param instance * @param function * @param argument - * @param argument1 + * @param argument1 template<class TClass1, class TretVal, class Targ, class Targ1> + void syncCall(TClass1* instance, TretVal(TClass1::*function)(Targ,Targ1), TretVal& retVal, Targ& argument, Targ1& argument1) + { + CAmSyncTwoArgDelegate<TClass1, TretVal, Targ, Targ1>* p(new CAmSyncTwoArgDelegate<TClass1, TretVal, Targ, Targ1>(instance, function, argument, argument1)); + send(static_cast<CAmDelegagePtr>(p)); + int numReads; + CAmDelegagePtr ptr; + if ((numReads=read(mReturnPipe[0],&ptr, sizeof(ptr))) == -1) + { + logError("CAmSerializer::receiverCallback could not read pipe!"); + throw std::runtime_error("CAmSerializer Could not read pipe!"); + } + //working with friend class here is not the finest of all programming stiles but it works... + retVal=p->returnResults(argument,argument1); + } * @param argument2 */ template<class TClass1, class Targ, class Targ1, class Targ2> @@ -281,6 +483,156 @@ public: send(p); } + /** + * calls a synchronous function with no arguments threadsafe + * @param instance the instance of the class that shall be called + * @param function the function that shall be called as memberfunction pointer. + * Here is an example: + * @code + * class myClass + * { + * public: + * am_Error_e myfunction(); + * } + * CAmSerializer serial(&Sockethandler); + * myClass instanceMyClass; + * am_Error_e error; + * serial<CommandSender,am_Error_e>(&instanceMyClass,&myClass::myfunction, error); + * @endcode + * All arguments given to synchronous functions must be non-const since the results of the operations will be written back to the arguments. + * + */ + template<class TClass1, class TretVal> + void syncCall(TClass1* instance, TretVal(TClass1::*function)(), TretVal& retVal) + { + CAmSyncNoArgDelegate<TClass1, TretVal>* p(new CAmSyncNoArgDelegate<TClass1, TretVal>(instance, function)); + send(static_cast<CAmDelegagePtr>(p)); + int numReads; + CAmDelegagePtr ptr; + if ((numReads=read(mReturnPipe[0],&ptr, sizeof(ptr))) == -1) + { + logError("CAmSerializer::receiverCallback could not read pipe!"); + throw std::runtime_error("CAmSerializer Could not read pipe!"); + } + //working with friend class here is not the finest of all programming stiles but it works... + retVal=p->returnResults(); + delete p; + } + + /** + * calls a function with one argument synchronous threadsafe + * @param instance the instance of the class that shall be called + * @param function the function that shall be called as memberfunction pointer. + * Here is an example: + * @code + * class myClass + * { + * public: + * am_Error_e myfunction(int k); + * } + * CAmSerializer serial(&Sockethandler); + * myClass instanceMyClass; + * am_Error_e error; + * int l; + * serial<CommandSender,am_Error_e,int>(&instanceMyClass,&myClass::myfunction,error,l); + * @endcode + * All arguments given to synchronous functions must be non-const since the results of the operations will be written back to the arguments. + */ + template<class TClass1, class TretVal, class Targ> + void syncCall(TClass1* instance, TretVal(TClass1::*function)(Targ), TretVal& retVal,Targ& argument) + { + CAmSyncOneArgDelegate<TClass1, TretVal, Targ>* p(new CAmSyncOneArgDelegate<TClass1, TretVal, Targ>(instance, function, argument)); + send(static_cast<CAmDelegagePtr>(p)); + int numReads; + CAmDelegagePtr ptr; + if ((numReads=read(mReturnPipe[0],&ptr, sizeof(ptr))) == -1) + { + logError("CAmSerializer::receiverCallback could not read pipe!"); + throw std::runtime_error("CAmSerializer Could not read pipe!"); + } + //working with friend class here is not the finest of all programming stiles but it works... + retVal=p->returnResults(argument); + delete p; + } + + /** + * calls a function with two arguments synchronously threadsafe. for more see syncCall with one argument + * @param instance + * @param function + * @param retVal + * @param argument + * @param argument1 + */ + template<class TClass1, class TretVal, class TargCall, class Targ1Call,class Targ, class Targ1> + void syncCall(TClass1* instance, TretVal(TClass1::*function)(TargCall,Targ1Call), TretVal& retVal, Targ& argument, Targ1& argument1) + { + CAmSyncTwoArgDelegate<TClass1, TretVal,TargCall,Targ1Call, Targ, Targ1>* p(new CAmSyncTwoArgDelegate<TClass1, TretVal,TargCall,Targ1Call, Targ, Targ1>(instance, function, argument, argument1)); + send(dynamic_cast<CAmDelegagePtr>(p)); + + CAmDelegagePtr ptr; + if (read(mReturnPipe[0],&ptr, sizeof(ptr)) == -1) + { + logError("CAmSerializer::receiverCallback could not read pipe!"); + throw std::runtime_error("CAmSerializer Could not read pipe!"); + } + retVal=p->returnResults(argument,argument1); + delete p; + } + + /** + * calls a function with three arguments synchronously threadsafe. for more see syncCall with one argument + * @param instance + * @param function + * @param retVal + * @param argument + * @param argument1 + * @param argument2 + */ + template<class TClass1, class TretVal, class Targ, class Targ1, class Targ2> + void syncCall(TClass1* instance, TretVal(TClass1::*function)(Targ,Targ1,Targ2), TretVal& retVal, Targ& argument, Targ1& argument1, Targ2& argument2) + { + CAmSyncThreeArgDelegate<TClass1, TretVal, Targ, Targ1, Targ2>* p(new CAmSyncThreeArgDelegate<TClass1, TretVal, Targ, Targ1, Targ2>(instance, function, argument, argument1, argument2)); + send(static_cast<CAmDelegagePtr>(p)); + int numReads; + CAmDelegagePtr ptr; + if ((numReads=read(mReturnPipe[0],&ptr, sizeof(ptr))) == -1) + { + logError("CAmSerializer::receiverCallback could not read pipe!"); + throw std::runtime_error("CAmSerializer Could not read pipe!"); + } + //working with friend class here is not the finest of all programming stiles but it works... + retVal=p->returnResults(argument, argument1, argument2); + delete p; + } + + /** + * calls a function with four arguments synchronously threadsafe. for more see syncCall with one argument + * @param instance + * @param function + * @param retVal + * @param argument + * @param argument1 + * @param argument2 + * @param argument3 + */ + template<class TClass1, class TretVal, class Targ, class Targ1, class Targ2, class Targ3> + void syncCall(TClass1* instance, TretVal(TClass1::*function)(Targ,Targ1,Targ2,Targ3), TretVal& retVal, Targ& argument, Targ1& argument1, Targ2& argument2, Targ3& argument3) + { + CAmSyncFourArgDelegate<TClass1, TretVal, Targ, Targ1, Targ2, Targ3>* p(new CAmSyncFourArgDelegate<TClass1, TretVal, Targ, Targ1, Targ2, Targ3>(instance, function, argument, argument1, argument2, argument3)); + send(static_cast<CAmDelegagePtr>(p)); + int numReads; + CAmDelegagePtr ptr; + if ((numReads=read(mReturnPipe[0],&ptr, sizeof(ptr))) == -1) + { + logError("CAmSerializer::receiverCallback could not read pipe!"); + throw std::runtime_error("CAmSerializer Could not read pipe!"); + } + //working with friend class here is not the finest of all programming stiles but it works... + retVal=p->returnResults(argument, argument1, argument2, argument3); + delete p; + } + + void receiverCallback(const pollfd pollfd, const sh_pollHandle_t handle, void* userData) { (void) handle; @@ -310,8 +662,8 @@ public: (void) userData; CAmDelegagePtr delegatePoiter = mListDelegatePoiters.front(); mListDelegatePoiters.pop_front(); - delegatePoiter->call(); - delete delegatePoiter; + if(delegatePoiter->call(mReturnPipe)) + delete delegatePoiter; if (mListDelegatePoiters.empty()) return false; return true; @@ -338,13 +690,19 @@ public: throw std::runtime_error("CAmSerializer Could not open pipe!"); } + if (pipe(mReturnPipe) == -1) + { + logError("CAmSerializer could not create mReturnPipe!"); + throw std::runtime_error("CAmSerializer Could not open mReturnPipe!"); + } + short event = 0; sh_pollHandle_t handle; event |= POLLIN; iSocketHandler->addFDPoll(mPipe[0], event, NULL, &receiverCallbackT, NULL, &dispatcherCallbackT, NULL, handle); } - virtual ~CAmSerializer(){} + ~CAmSerializer(){} }; } /* namespace am */ #endif /* CAMSERIALIZER_H_ */ diff --git a/includes/audiomanagertypes.h b/includes/audiomanagertypes.h index 2d9b883..a489720 100644 --- a/includes/audiomanagertypes.h +++ b/includes/audiomanagertypes.h @@ -17,8 +17,8 @@ *
* THIS CODE HAS BEEN GENERATED BY ENTERPRISE ARCHITECT GENIVI MODEL. PLEASE CHANGE ONLY IN ENTERPRISE ARCHITECT AND GENERATE AGAIN
*/
-#if !defined(EA_5B7FFAAE_6D10_4b76_8E0F_E8060678C777__INCLUDED_)
-#define EA_5B7FFAAE_6D10_4b76_8E0F_E8060678C777__INCLUDED_
+#if !defined(EA_20D4CA94_946F_4462_BD28_0ABEC8125573__INCLUDED_)
+#define EA_20D4CA94_946F_4462_BD28_0ABEC8125573__INCLUDED_
#include <stdint.h>
#include "projecttypes.h"
@@ -31,63 +31,63 @@ namespace am { /** * a domain ID * @author Christian Mueller - * @created 27-Feb-2012 6:57:27 PM + * @created 29-Feb-2012 12:54:25 PM */ typedef uint16_t am_domainID_t; /** * a source ID * @author Christian Mueller - * @created 27-Feb-2012 6:57:27 PM + * @created 29-Feb-2012 12:54:25 PM */ typedef uint16_t am_sourceID_t; /** * a sink ID * @author Christian Mueller - * @created 27-Feb-2012 6:57:27 PM + * @created 29-Feb-2012 12:54:25 PM */ typedef uint16_t am_sinkID_t; /** * a gateway ID * @author Christian Mueller - * @created 27-Feb-2012 6:57:27 PM + * @created 29-Feb-2012 12:54:25 PM */ typedef uint16_t am_gatewayID_t; /** * a crossfader ID * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ typedef uint16_t am_crossfaderID_t; /** * a connection ID * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ typedef uint16_t am_connectionID_t; /** * a mainConnection ID * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ typedef uint16_t am_mainConnectionID_t; /** * speed * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ typedef uint16_t am_speed_t; /** * The unit is 0.1 db steps,The smallest value -3000 (=AM_MUTE). The minimum and maximum can be limited by actual project. * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ typedef int16_t am_volume_t; @@ -95,40 +95,40 @@ namespace am { * This is the volume presented on the command interface. It is in the duty of the Controller to change the volumes given here into meaningful values on the routing interface.
* The range of this type is customer specific. * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ typedef int16_t am_mainVolume_t; /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ typedef uint16_t am_sourceClass_t; /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ typedef uint16_t am_sinkClass_t; /** * time in ms! * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ typedef uint16_t am_time_t; /** * offset time that is introduced in milli seconds. * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ typedef int16_t am_timeSync_t; /** * with the help of this enum, sinks and sources can report their availability state * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ enum am_Availablility_e { @@ -150,7 +150,7 @@ namespace am { /** * represents the connection state * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ enum am_ConnectionState_e { @@ -180,7 +180,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ enum am_DomainState_e { @@ -206,7 +206,7 @@ namespace am { /** * This enum characterizes the data of the EarlyData_t * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ enum am_EarlyDataType_e { @@ -236,7 +236,7 @@ namespace am { /** * the errors of the audiomanager. All possible errors are in here. This enum is used widely as return parameter. * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ enum am_Error_e { @@ -289,7 +289,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ enum am_MuteState_e { @@ -311,7 +311,7 @@ namespace am { /** * The source state reflects the state of the source * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ enum am_SourceState_e { @@ -334,7 +334,7 @@ namespace am { /** * This enumeration is used to define the type of the action that is correlated to a handle. * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ enum am_Handle_e { @@ -354,7 +354,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ enum am_InterruptState_e { @@ -376,7 +376,7 @@ namespace am { /** * describes the active sink of a crossfader. * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ enum am_HotSink_e { @@ -402,7 +402,7 @@ namespace am { /** * this describes the availability of a sink or a source together with the latest change * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ struct am_Availability_s { @@ -421,7 +421,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:25 PM */ struct am_ClassProperty_s { @@ -434,7 +434,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:26 PM */ struct am_Crossfader_s { @@ -451,7 +451,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:26 PM */ struct am_Gateway_s { @@ -491,7 +491,7 @@ namespace am { /** * This represents one "hopp" in a route * @author Christian Mueller - * @created 27-Feb-2012 6:57:28 PM + * @created 29-Feb-2012 12:54:26 PM */ struct am_RoutingElement_s { @@ -506,7 +506,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:29 PM + * @created 29-Feb-2012 12:54:26 PM */ struct am_Route_s { @@ -520,7 +520,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:29 PM + * @created 29-Feb-2012 12:54:26 PM */ struct am_SoundProperty_s { @@ -533,7 +533,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:29 PM + * @created 29-Feb-2012 12:54:26 PM */ struct am_SystemProperty_s { @@ -552,7 +552,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:29 PM + * @created 29-Feb-2012 12:54:26 PM */ struct am_SinkClass_s { @@ -566,7 +566,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:29 PM + * @created 29-Feb-2012 12:54:27 PM */ struct am_SourceClass_s { @@ -584,7 +584,7 @@ namespace am { /** * this type holds all information of sources relevant to the HMI * @author Christian Mueller - * @created 27-Feb-2012 6:57:29 PM + * @created 29-Feb-2012 12:54:27 PM */ struct am_SourceType_s { @@ -600,7 +600,7 @@ namespace am { /** * this type holds all information of sinks relevant to the HMI * @author Christian Mueller - * @created 27-Feb-2012 6:57:29 PM + * @created 29-Feb-2012 12:54:27 PM */ struct am_SinkType_s { @@ -617,7 +617,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:29 PM + * @created 29-Feb-2012 12:54:27 PM */ struct am_Handle_s { @@ -630,7 +630,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:30 PM + * @created 29-Feb-2012 12:54:27 PM */ struct am_MainSoundProperty_s { @@ -644,7 +644,7 @@ namespace am { /** * this type holds all information of connections relevant to the HMI * @author Christian Mueller - * @created 27-Feb-2012 6:57:30 PM + * @created 29-Feb-2012 12:54:27 PM */ struct am_MainConnectionType_s { @@ -660,7 +660,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:30 PM + * @created 29-Feb-2012 12:54:27 PM */ struct am_MainConnection_s { @@ -683,7 +683,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:30 PM + * @created 29-Feb-2012 12:54:27 PM */ struct am_Sink_s { @@ -706,7 +706,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:30 PM + * @created 29-Feb-2012 12:54:28 PM */ struct am_Source_s { @@ -738,7 +738,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:30 PM + * @created 29-Feb-2012 12:54:28 PM */ struct am_Domain_s { @@ -756,7 +756,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:31 PM + * @created 29-Feb-2012 12:54:28 PM */ struct am_Connection_s { @@ -775,7 +775,7 @@ namespace am { * volume_t in case of ED_SOURCE_VOLUME, ED_SINK_VOLUME
* soundProperty_t in case of ED_SOURCE_PROPERTY, ED_SINK_PROPERTY * @author Christian Mueller - * @created 27-Feb-2012 6:57:31 PM + * @created 29-Feb-2012 12:54:28 PM */ union am_EarlyData_u { @@ -791,7 +791,7 @@ namespace am { * sourceID in case of ED_SOURCE_VOLUME, ED_SOURCE_PROPERTY
* sinkID in case of ED_SINK_VOLUME, ED_SINK_PROPERTY * @author Christian Mueller - * @created 27-Feb-2012 6:57:31 PM + * @created 29-Feb-2012 12:54:28 PM */ union am_DataType_u { @@ -804,7 +804,7 @@ namespace am { /** * @author Christian Mueller - * @created 27-Feb-2012 6:57:31 PM + * @created 29-Feb-2012 12:54:28 PM */ struct am_EarlyData_s { @@ -816,4 +816,4 @@ namespace am { }; } -#endif // !defined(EA_5B7FFAAE_6D10_4b76_8E0F_E8060678C777__INCLUDED_) +#endif // !defined(EA_20D4CA94_946F_4462_BD28_0ABEC8125573__INCLUDED_) diff --git a/includes/command/CommandReceiveInterface.h b/includes/command/CommandReceiveInterface.h index 2e79f44..4190fa8 100644 --- a/includes/command/CommandReceiveInterface.h +++ b/includes/command/CommandReceiveInterface.h @@ -17,8 +17,8 @@ *
* THIS CODE HAS BEEN GENERATED BY ENTERPRISE ARCHITECT GENIVI MODEL. PLEASE CHANGE ONLY IN ENTERPRISE ARCHITECT AND GENERATE AGAIN
*/
-#if !defined(EA_7F5A2204_92A2_4006_80F8_099931A426CE__INCLUDED_)
-#define EA_7F5A2204_92A2_4006_80F8_099931A426CE__INCLUDED_
+#if !defined(EA_76AA566B_CDC8_4c91_A89E_BB68E32CC6D1__INCLUDED_)
+#define EA_76AA566B_CDC8_4c91_A89E_BB68E32CC6D1__INCLUDED_
#include <vector>
#include <string>
@@ -39,7 +39,7 @@ namespace am { * Violation these rules may lead to unexpected behavior! Nevertheless you can implement thread safe by using the deferred-call pattern described on the wiki which also helps to implement calls that are forbidden.\n
* For more information, please check CAmSerializer * @author Christian Mueller - * @created 27-Feb-2012 6:57:31 PM + * @created 29-Feb-2012 12:54:29 PM */ class CommandReceiveInterface { @@ -217,4 +217,4 @@ namespace am { }; } -#endif // !defined(EA_7F5A2204_92A2_4006_80F8_099931A426CE__INCLUDED_) +#endif // !defined(EA_76AA566B_CDC8_4c91_A89E_BB68E32CC6D1__INCLUDED_) diff --git a/includes/command/CommandSendInterface.h b/includes/command/CommandSendInterface.h index e5135df..70cf3cc 100644 --- a/includes/command/CommandSendInterface.h +++ b/includes/command/CommandSendInterface.h @@ -17,8 +17,8 @@ *
* THIS CODE HAS BEEN GENERATED BY ENTERPRISE ARCHITECT GENIVI MODEL. PLEASE CHANGE ONLY IN ENTERPRISE ARCHITECT AND GENERATE AGAIN
*/
-#if !defined(EA_78C60EC5_4114_41a8_BE01_4911668CE1C1__INCLUDED_)
-#define EA_78C60EC5_4114_41a8_BE01_4911668CE1C1__INCLUDED_
+#if !defined(EA_AE49449C_9BE2_428f_82B5_7BD27DBBFCF2__INCLUDED_)
+#define EA_AE49449C_9BE2_428f_82B5_7BD27DBBFCF2__INCLUDED_
#include <vector>
#include <string>
@@ -40,7 +40,7 @@ namespace am { * Violation these rules may lead to unexpected behavior! Nevertheless you can implement thread safe by using the deferred-call pattern described on the wiki which also helps to implement calls that are forbidden.\n
* For more information, please check CAmSerializer * @author Christian Mueller - * @created 27-Feb-2012 6:57:32 PM + * @created 29-Feb-2012 12:54:29 PM */ class CommandSendInterface { @@ -191,4 +191,4 @@ namespace am { }; } -#endif // !defined(EA_78C60EC5_4114_41a8_BE01_4911668CE1C1__INCLUDED_) +#endif // !defined(EA_AE49449C_9BE2_428f_82B5_7BD27DBBFCF2__INCLUDED_) diff --git a/includes/control/ControlReceiveInterface.h b/includes/control/ControlReceiveInterface.h index 35bf977..94a0258 100644 --- a/includes/control/ControlReceiveInterface.h +++ b/includes/control/ControlReceiveInterface.h @@ -17,8 +17,8 @@ *
* THIS CODE HAS BEEN GENERATED BY ENTERPRISE ARCHITECT GENIVI MODEL. PLEASE CHANGE ONLY IN ENTERPRISE ARCHITECT AND GENERATE AGAIN
*/
-#if !defined(EA_4782C934_9728_44b7_8F9A_D8FB838CF1A7__INCLUDED_)
-#define EA_4782C934_9728_44b7_8F9A_D8FB838CF1A7__INCLUDED_
+#if !defined(EA_CCBD8A91_5C9B_49d1_88D8_69215A0542F8__INCLUDED_)
+#define EA_CCBD8A91_5C9B_49d1_88D8_69215A0542F8__INCLUDED_
#include <vector>
#include <string>
@@ -38,7 +38,7 @@ namespace am { * Violation these rules may lead to unexpected behavior! Nevertheless you can implement thread safe by using the deferred-call pattern described on the wiki which also helps to implement calls that are forbidden.\n
* For more information, please check CAmSerializer * @author Christian Mueller - * @created 27-Feb-2012 6:57:32 PM + * @created 29-Feb-2012 12:54:29 PM */ class ControlReceiveInterface { @@ -611,4 +611,4 @@ namespace am { }; } -#endif // !defined(EA_4782C934_9728_44b7_8F9A_D8FB838CF1A7__INCLUDED_) +#endif // !defined(EA_CCBD8A91_5C9B_49d1_88D8_69215A0542F8__INCLUDED_) diff --git a/includes/control/ControlSendInterface.h b/includes/control/ControlSendInterface.h index 4857dd0..2d706a2 100644 --- a/includes/control/ControlSendInterface.h +++ b/includes/control/ControlSendInterface.h @@ -17,8 +17,8 @@ *
* THIS CODE HAS BEEN GENERATED BY ENTERPRISE ARCHITECT GENIVI MODEL. PLEASE CHANGE ONLY IN ENTERPRISE ARCHITECT AND GENERATE AGAIN
*/
-#if !defined(EA_453737DF_D0F3_4dda_8960_2B6C2FE2297F__INCLUDED_)
-#define EA_453737DF_D0F3_4dda_8960_2B6C2FE2297F__INCLUDED_
+#if !defined(EA_3F77CFC8_1A30_4d2d_88FD_3E946AA5AB38__INCLUDED_)
+#define EA_3F77CFC8_1A30_4d2d_88FD_3E946AA5AB38__INCLUDED_
#include <vector>
#include <string>
@@ -39,7 +39,7 @@ namespace am { * Violation these rules may lead to unexpected behavior! Nevertheless you can implement thread safe by using the deferred-call pattern described on the wiki which also helps to implement calls that are forbidden.\n
* For more information, please check CAmSerializer * @author Christian Mueller - * @created 27-Feb-2012 6:57:33 PM + * @created 29-Feb-2012 12:54:30 PM */ class ControlSendInterface { @@ -385,4 +385,4 @@ namespace am { }; } -#endif // !defined(EA_453737DF_D0F3_4dda_8960_2B6C2FE2297F__INCLUDED_) +#endif // !defined(EA_3F77CFC8_1A30_4d2d_88FD_3E946AA5AB38__INCLUDED_) diff --git a/includes/projecttypes.h b/includes/projecttypes.h index b480070..a8f48a7 100644 --- a/includes/projecttypes.h +++ b/includes/projecttypes.h @@ -17,14 +17,14 @@ *
* THIS CODE HAS BEEN GENERATED BY ENTERPRISE ARCHITECT GENIVI MODEL. PLEASE CHANGE ONLY IN ENTERPRISE ARCHITECT AND GENERATE AGAIN
*/
-#if !defined(EA_2597AEAA_55EC_440a_8189_04DF7389A1AD__INCLUDED_)
-#define EA_2597AEAA_55EC_440a_8189_04DF7389A1AD__INCLUDED_
+#if !defined(EA_D85F87B8_62E9_4a72_9BF7_3DCA2B6559EA__INCLUDED_)
+#define EA_D85F87B8_62E9_4a72_9BF7_3DCA2B6559EA__INCLUDED_
namespace am {
/**
* This enum classifies the format in which data is exchanged within a connection. The enum itself is project specific although there are some Genivi standard formats defined.
* @author Christian Mueller
- * @created 27-Feb-2012 6:57:31 PM
+ * @created 29-Feb-2012 12:54:29 PM
*/
enum am_ConnectionFormat_e
{
@@ -54,7 +54,7 @@ namespace am { /**
* This enum gives the information about reason for reason for Source/Sink change
* @author Christian Mueller
- * @created 27-Feb-2012 6:57:31 PM
+ * @created 29-Feb-2012 12:54:29 PM
*/
enum am_AvailabilityReason_e
{
@@ -92,7 +92,7 @@ namespace am { /**
* product specific identifier of property
* @author Christian Mueller
- * @created 27-Feb-2012 6:57:31 PM
+ * @created 29-Feb-2012 12:54:29 PM
*/
enum am_ClassProperty_e
{
@@ -115,7 +115,7 @@ namespace am { * The given ramp types here are just a possiblity. for products, different ramp types can be defined here.
* It is in the responsibility of the product to make sure that the routing plugins are aware of the ramp types used. * @author Christian Mueller - * @created 27-Feb-2012 6:57:31 PM + * @created 29-Feb-2012 12:54:29 PM */ enum am_RampType_e { @@ -137,7 +137,7 @@ namespace am { /** * sound properties. Within genivi only the standard properties are defined, for products these need to be extended. * @author Christian Mueller - * @created 27-Feb-2012 6:57:31 PM + * @created 29-Feb-2012 12:54:29 PM */ enum am_SoundPropertyType_e { @@ -163,7 +163,7 @@ namespace am { /** * Here are all SoundProperties that can be set via the CommandInterface. Product specific * @author Christian Mueller - * @created 27-Feb-2012 6:57:31 PM + * @created 29-Feb-2012 12:54:29 PM */ enum am_MainSoundPropertyType_e { @@ -189,7 +189,7 @@ namespace am { /** * describes the different system properties. Project specific * @author Christian Mueller - * @created 27-Feb-2012 6:57:31 PM + * @created 29-Feb-2012 12:54:29 PM */ enum am_SystemPropertyType_e { @@ -200,4 +200,4 @@ namespace am { SYP_MAX }; } -#endif // !defined(EA_2597AEAA_55EC_440a_8189_04DF7389A1AD__INCLUDED_) +#endif // !defined(EA_D85F87B8_62E9_4a72_9BF7_3DCA2B6559EA__INCLUDED_) diff --git a/includes/routing/RoutingReceiveInterface.h b/includes/routing/RoutingReceiveInterface.h index b9d6f34..f614fb3 100644 --- a/includes/routing/RoutingReceiveInterface.h +++ b/includes/routing/RoutingReceiveInterface.h @@ -17,8 +17,8 @@ *
* THIS CODE HAS BEEN GENERATED BY ENTERPRISE ARCHITECT GENIVI MODEL. PLEASE CHANGE ONLY IN ENTERPRISE ARCHITECT AND GENERATE AGAIN
*/
-#if !defined(EA_1872FCAA_4ACA_4547_ABD0_F0CC01DE516C__INCLUDED_)
-#define EA_1872FCAA_4ACA_4547_ABD0_F0CC01DE516C__INCLUDED_
+#if !defined(EA_ACBA7B56_BAFE_481f_8DF3_0B1AB9AE1E8C__INCLUDED_)
+#define EA_ACBA7B56_BAFE_481f_8DF3_0B1AB9AE1E8C__INCLUDED_
#include <vector>
#include <string>
@@ -40,7 +40,7 @@ namespace am { * Violation these rules may lead to unexpected behavior! Nevertheless you can implement thread safe by using the deferred-call pattern described on the wiki which also helps to implement calls that are forbidden.\n
* For more information, please check CAmSerializer * @author Christian Mueller - * @created 27-Feb-2012 6:57:33 PM + * @created 29-Feb-2012 12:54:30 PM */ class RoutingReceiveInterface { @@ -335,14 +335,14 @@ namespace am { * * @param handle the handle that was given via setRoutingReady */ - virtual void confirmRoutingReady(const uint16_t handle) const =0; + virtual void confirmRoutingReady(const uint16_t handle) =0; /** * confirms the setRoutingRundown Command * * @param handle handle that was given via setRoutingRundown */ - virtual void confirmRoutingRundown(const uint16_t handle) const =0; + virtual void confirmRoutingRundown(const uint16_t handle) =0; }; } -#endif // !defined(EA_1872FCAA_4ACA_4547_ABD0_F0CC01DE516C__INCLUDED_) +#endif // !defined(EA_ACBA7B56_BAFE_481f_8DF3_0B1AB9AE1E8C__INCLUDED_) diff --git a/includes/routing/RoutingSendInterface.h b/includes/routing/RoutingSendInterface.h index 0f07022..e2bd5c4 100644 --- a/includes/routing/RoutingSendInterface.h +++ b/includes/routing/RoutingSendInterface.h @@ -17,8 +17,8 @@ *
* THIS CODE HAS BEEN GENERATED BY ENTERPRISE ARCHITECT GENIVI MODEL. PLEASE CHANGE ONLY IN ENTERPRISE ARCHITECT AND GENERATE AGAIN
*/
-#if !defined(EA_C3949186_203B_474d_AD8F_42D39FB00FFA__INCLUDED_)
-#define EA_C3949186_203B_474d_AD8F_42D39FB00FFA__INCLUDED_
+#if !defined(EA_337B4D34_644D_4faf_8A72_3253A0B4F5A0__INCLUDED_)
+#define EA_337B4D34_644D_4faf_8A72_3253A0B4F5A0__INCLUDED_
#include <vector>
#include <string>
@@ -40,7 +40,7 @@ namespace am { * Violation these rules may lead to unexpected behavior! Nevertheless you can implement thread safe by using the deferred-call pattern described on the wiki which also helps to implement calls that are forbidden.\n
* For more information, please check CAmSerializer * @author Christian Mueller - * @created 27-Feb-2012 6:57:33 PM + * @created 29-Feb-2012 12:54:31 PM */ class RoutingSendInterface { @@ -201,4 +201,4 @@ namespace am { }; } -#endif // !defined(EA_C3949186_203B_474d_AD8F_42D39FB00FFA__INCLUDED_) +#endif // !defined(EA_337B4D34_644D_4faf_8A72_3253A0B4F5A0__INCLUDED_) |