11 #ifndef _LIBALMEMORYFASTACCESS_ALMEMORYFASTACCESS_ALMEMORYFASTACCESS_H_
12 #define _LIBALMEMORYFASTACCESS_ALMEMORYFASTACCESS_ALMEMORYFASTACCESS_H_
14 # include <alvalue/alvalue.h>
15 # include <alvalue/detail/alfunctorconvert.h>
17 # include <boost/shared_ptr.hpp>
46 typedef std::vector<float *> TVariablePtrArray;
51 typedef std::vector<float*> TFloatPtrArray;
56 typedef TVariablePtrArray::iterator ITVariablePtrArray;
61 typedef TVariablePtrArray::const_iterator CITVariablePtrArray;
86 const ALValue &pBuff);
98 AL::detail::converter<C> conv;
99 ALValue bData = conv.convertToALValue(pObject);
108 template <
typename C>
111 ALValue *val = getBuffer(pName);
114 AL::detail::converter<C> conv;
115 C retObject = conv.convertFromALValue(*val);
128 const std::vector<std::string> &pListVariables,
129 bool bAllowNonExistantVariable =
false);
137 static void *
getDataPtr(boost::shared_ptr<AL::ALBroker> pBroker,
138 const std::string &pStrValue,
139 bool bAllowUnexistantVariable);
149 const std::vector<std::string> &pListVariables,
150 bool bAllowUnexistantVariable =
false);
156 void GetValues(std::vector<float> &pListValue)
const;
162 void SetValues(
const std::vector<float> &pListValue);
169 inline void DisableCheckOnNotExistingValueOrThings_Debug(
void) { fbDisableCheking_Debug =
true; };
177 static bool InnerTest(
const boost::shared_ptr<AL::ALBroker> pBroker);
184 static ALValue* getBuffer(
const std::string &pName);
187 boost::shared_ptr<AL::ALProxy> fMemoryProxy;
192 TVariablePtrArray fListVariablePtr;
194 TFloatPtrArray fListFloatPtr;
198 ALValue fCommandToGetData;
200 ALValue fCommandToSetData;
204 bool fbDisableCheking_Debug;
208 static bool static_bStopAllAccess;
212 #endif // _LIBALMEMORYFASTACCESS_ALMEMORYFASTACCESS_ALMEMORYFASTACCESS_H_