CSensrvTransaction Class Reference
class CSensrvTransaction : public CBase |
Base class for Sensor Server transactions
Nested Classes and Structures
Public Member Enumerations |
---|
enum | TSensrvTransactionState { ETransStateUninitialized, ETransStateQueued, ETransStateExecuting, ETransStateHandledAtSsy, ETransStateNotifyFailed, ETransStateCompleted } |
enum | TSensrvTransactionType { ETransTypeNone, ETransTypeLoadSsy = 1, ETransTypeDelayedInitialize, ETransTypeDelayedOpenChannel, ETransTypeClientQueryChannels, ETransTypeOpenChannel, ETransTypeCloseChannel, ETransTypeStartListening, ETransTypeStopListening, ETransTypeGetProperty, ETransTypeGetAllProperties, ETransTypeSetProperty, ETransTypeStartConditionListening, ETransTypeStopConditionListening, ETransTypeMediatorFirst = 10000, ETransTypeMediatorNewDataAvailable, ETransTypeMediatorForceBufferFilled, ETransTypeMediatorForceChannelClose, ETransTypeMediatorPropertyChanged, ETransTypeMediatorChannelsChanged } |
Constructor & Destructor Documentation
CSensrvTransaction(CSensrvMessage *, CSensrvPluginProxy *, CSensrvChannel *, TSensrvTransactionType)
Parameters
CSensrvMessage * aMessage | The message related to this transaction. Can be NULL if transaction has no client. |
CSensrvPluginProxy * aProxy | The plugin proxy related to this transaction. Can be NULL if transaction is not related to a single proxy. |
CSensrvChannel * aChannel | The channel related to this transaction. Can be NULL if transaction is not related to a channel. |
TSensrvTransactionType aType | The transaction type. |
~CSensrvTransaction()
~CSensrvTransaction | ( | ) | [virtual] |
Member Functions Documentation
Channel()
Gets related channel pointer.
Complete()
Completes the transaction and related message, if any.
ErrorCode()
TInt
| ErrorCode | ( | ) | const [inline] |
ExtractMessage()
Extracts message from transaction. Message completion responsibility transfers to caller.
IsMediatorType()
TBool
| IsMediatorType | ( | ) | const [inline] |
Checks if transaction is a mediator transaction.
Message()
Gets message related to this transaction.
NewL(CSensrvMessage *, CSensrvPluginProxy *, CSensrvChannel *, TSensrvTransactionType)
Two phase constructor
- Since
- S60 5.0
- Exceptions
-
KErrNoMemory |
Out of memory
|
Parameters
CSensrvMessage * aMessage | The message related to this transaction. Can be NULL if transaction has no client. Ownership of the message passes to this transaction. |
CSensrvPluginProxy * aProxy | The plugin proxy related to this transaction. Can be NULL if transaction is not related to a single proxy. |
CSensrvChannel * aChannel | The channel related to this transaction. Can be NULL if transaction is not related to a channel. |
TSensrvTransactionType aType | The transaction type. |
NewLC(CSensrvMessage *, CSensrvPluginProxy *, CSensrvChannel *, TSensrvTransactionType)
Two phase constructor, leaves newly created object to cleanupstack.
- Since
- S60 5.0
- Exceptions
-
KErrNoMemory |
Out of memory
|
Parameters
CSensrvMessage * aMessage | The message related to this transaction. Can be NULL if transaction has no client. Ownership of the message passes to this transaction. |
CSensrvPluginProxy * aProxy | The plugin proxy related to this transaction. Can be NULL if transaction is not related to a single proxy. |
CSensrvChannel * aChannel | The channel related to this transaction. Can be NULL if transaction is not related to a channel. |
TSensrvTransactionType aType | The transaction type. |
Proxy()
Gets the plugin proxy related to transaction.
ResetTimeStamp()
const TTime & | ResetTimeStamp | ( | ) | [inline] |
Resets transaction timestamp to current time.
Session()
Gets session related to this transaction.
SetErrorCode(TInt)
void | SetErrorCode | ( | TInt | aErrorCode | ) | |
Parameters
TInt aErrorCode | Error code |
SetMessageData(TAny *)
Sets data to message to be returned to client.
Parameters
TAny * aData | Data to set to the message. How TAny pointer is interpreted depends on transaction type: ETransTypeClientQueryChannels - RSensrvChannelInfoList*, ETransTypeOpenChannel - TChannelOpenMessageData* |
SetState(TSensrvTransactionState)
State()
TInt
| State | ( | ) | const [inline] |
TimeStamp()
const TTime & | TimeStamp | ( | ) | const [inline] |
Gets transaction timestamp.
Type()
Gets the transaction type.
Member Enumerations Documentation
Enum TSensrvTransactionState
Enumerators
ETransStateUninitialized | |
ETransStateQueued | |
ETransStateExecuting | |
ETransStateHandledAtSsy | |
ETransStateNotifyFailed | |
ETransStateCompleted | |
Enum TSensrvTransactionType
Transaction types
Mediator transactions are never owned by transaction queues and are reused, even if the regular transactions are not. They are used for passing events internally between SSY and Server main thread.
Enumerators
ETransTypeNone | |
ETransTypeLoadSsy = 1 | |
ETransTypeDelayedInitialize | |
ETransTypeDelayedOpenChannel | |
ETransTypeClientQueryChannels | |
ETransTypeOpenChannel | |
ETransTypeCloseChannel | |
ETransTypeStartListening | |
ETransTypeStopListening | |
ETransTypeGetProperty | |
ETransTypeGetAllProperties | |
ETransTypeSetProperty | |
ETransTypeStartConditionListening | |
ETransTypeStopConditionListening | |
ETransTypeMediatorFirst = 10000 | |
ETransTypeMediatorNewDataAvailable | |
ETransTypeMediatorForceBufferFilled | |
ETransTypeMediatorForceChannelClose | |
ETransTypeMediatorPropertyChanged | |
ETransTypeMediatorChannelsChanged | |
Member Data Documentation
CSensrvChannel * iChannel
Channel related to transaction. Can be NULL for transactions not related to a channel. Not Own.
TInt
iErrorCode
Error related to transaction.
CSensrvMessage * iMessage
Message related to transaction. Can be NULL for clientless internal transactions. Not own, but is responsible for completion. All messages are owned by session objects.
CSensrvPluginProxy * iProxy
Plugin proxy related to transaction. Can be NULL for transactions not related to a single proxy. Not Own.
TSensrvTransactionState
iState
TTime
iTimeStamp
TTime
| iTimeStamp | [private] |
Transaction creation time.
TSensrvTransactionType
iType
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.