summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/CAmSerializer.h380
-rw-r--r--includes/audiomanagertypes.h100
-rw-r--r--includes/command/CommandReceiveInterface.h8
-rw-r--r--includes/command/CommandSendInterface.h8
-rw-r--r--includes/control/ControlReceiveInterface.h8
-rw-r--r--includes/control/ControlSendInterface.h8
-rw-r--r--includes/projecttypes.h20
-rw-r--r--includes/routing/RoutingReceiveInterface.h12
-rw-r--r--includes/routing/RoutingSendInterface.h8
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_)