5 #ifndef IConfigurable_h__
6 #define IConfigurable_h__ 1
53 kDTConstCharBuffer = 1 << 5,
55 kDTConstVoidPtr = 1 << 6,
70 virtual void APICALL SetParameter(
const uint64 & key,
bool value ) = 0;
71 virtual void APICALL SetParameter(
const uint64 & key,
uint64 value ) = 0;
72 virtual void APICALL SetParameter(
const uint64 & key,
int64 value ) = 0;
73 virtual void APICALL SetParameter(
const uint64 & key,
double value ) = 0;
74 virtual void APICALL SetParameter(
const uint64 & key,
char value ) = 0;
75 virtual void APICALL SetParameter(
const uint64 & key,
const char * value ) = 0;
76 virtual void APICALL SetParameter(
const uint64 & key,
const void * value ) = 0;
86 virtual bool APICALL RemoveParameter(
const uint64 & key ) = 0;
97 virtual bool APICALL GetParameter(
const uint64 & key,
bool & value )
const = 0;
98 virtual bool APICALL GetParameter(
const uint64 & key,
uint64 & value )
const = 0;
99 virtual bool APICALL GetParameter(
const uint64 & key,
int64 & value )
const = 0;
100 virtual bool APICALL GetParameter(
const uint64 & key,
double & value )
const = 0;
101 virtual bool APICALL GetParameter(
const uint64 & key,
char & value )
const = 0;
102 virtual bool APICALL GetParameter(
const uint64 & key,
const char * & value )
const = 0;
103 virtual bool APICALL GetParameter(
const uint64 & key,
const void * & value )
const = 0;
111 virtual std::vector< uint64 > APICALL GetAllParameters()
const = 0;
124 virtual eDataType APICALL GetDataType( const
uint64 & key ) const = 0;
134 static
uint64 ConvertCharBufferToUint64( const
char * key ) {
137 for (
int i = 0; i < 8 && key[ i ] !=
'\0'; i++ ) {
138 keyAsuint64 = keyAsuint64 << 8;
139 keyAsuint64 += (
unsigned char ) key[ i ];
175 friend class IConfigurableProxy;
176 #ifdef FRIEND_CLASS_DECLARATION
177 FRIEND_CLASS_DECLARATION();
183 #if !BUILDING_XMPCOMMON_LIB && !SOURCE_COMPILING_XMP_ALL
185 class IConfigurableProxy
186 :
public virtual IConfigurable {
189 virtual void APICALL SetParameter(
const uint64 & key,
bool value );
190 virtual void APICALL SetParameter(
const uint64 & key,
uint64 value );
191 virtual void APICALL SetParameter(
const uint64 & key,
int64 value );
192 virtual void APICALL SetParameter(
const uint64 & key,
double value );
193 virtual void APICALL SetParameter(
const uint64 & key,
char value );
194 virtual void APICALL SetParameter(
const uint64 & key,
const char * value );
195 virtual void APICALL SetParameter(
const uint64 & key,
const void * value );
198 virtual bool APICALL RemoveParameter(
const uint64 & key );
201 virtual bool APICALL GetParameter(
const uint64 & key,
bool & value )
const;
202 virtual bool APICALL GetParameter(
const uint64 & key,
uint64 & value )
const;
203 virtual bool APICALL GetParameter(
const uint64 & key,
int64 & value )
const;
204 virtual bool APICALL GetParameter(
const uint64 & key,
double & value )
const;
205 virtual bool APICALL GetParameter(
const uint64 & key,
char & value )
const;
206 virtual bool APICALL GetParameter(
const uint64 & key,
const char * & value )
const;
207 virtual bool APICALL GetParameter(
const uint64 & key,
const void * & value )
const;
210 virtual std::vector< uint64 > APICALL GetAllParameters()
const;
215 virtual eDataType APICALL GetDataType( const
uint64 & key ) const;
222 #endif // !BUILDING_XMPCOMMON_LIB && !SOURCE_COMPILING_XMP_ALL
227 #endif // IConfigurable_h__