CSensrvProxyManager Class Reference
class CSensrvProxyManager : public CBase |
Manages proxies and transactions not targeting single channel.
Constructor & Destructor Documentation
CSensrvProxyManager(CSensrvServer &)
~CSensrvProxyManager()
~CSensrvProxyManager | ( | ) | [virtual] |
Member Functions Documentation
AddProxy(const TUid &)
Parameters
const TUid & aProxyUid | Implementation UID of the proxy to add |
BufferSizeMultiplier()
TInt
| BufferSizeMultiplier | ( | ) | [inline] |
Get channel data buffer size multiplier.
ConstructL()
void | ConstructL | ( | ) | [private] |
Second phase of construction.
DispatchMessage(CSensrvMessage &)
Handles client message. Message completion responsibility transfers.
DuplicateMutexHandle(const RMutex &, RMutex &)
Duplicates mutex handle to one held by main thread.
Parameters
const RMutex & aSrc | Source handle |
RMutex & aDst | Destination handle |
EcomChanged(RImplInfoPtrArray *)
Called when the ecom has been scanned
Parameters
RImplInfoPtrArray * aImplementationInfos | Found SSY implementation infos The observer is responsible for cleanup of this array, if change was not blocked (return ETrue). |
GenerateUniqueId()
Generates new unique id (within context of this server instance).
GetProxyForChannel(TSensrvChannelId)
Gets the proxy that handles the specified channel.
GetSettings()
void | GetSettings | ( | ) | [private] |
Fetches configurable settings from cenrep and stores them in member variables.
HandleTransactionsOpenChannel()
void | HandleTransactionsOpenChannel | ( | ) | [private] |
HandleTransactionsQueryChannels()
void | HandleTransactionsQueryChannels | ( | ) | [private] |
Handles waiting transactions.
LoadDynamicChannelSsysIfNeeded(const TSensrvResourceChannelInfo &, const RMessage2 &, TBool)
Loads the dynamic channel SSYs that matches to given query if not already loaded.
NewL(CSensrvServer &)
Two phase constructor
- Since
- S60 5.0
- Exceptions
-
KErrNoMemory |
Out of memory
|
NotifyChannelChange(const TSensrvResourceChannelInfo &, TSensrvChannelChangeType)
Notifies clients that a change has happened in available channels.
Parameters
const TSensrvResourceChannelInfo & aChangedChannel | Channel information of the channel. |
TSensrvChannelChangeType aChangeType | If ESensrvChannelAdded, channel is a newly available channel. If ESensrvChannelRemoved, channel was removed and is no longer available. |
NotifyProxyInitialized()
void | NotifyProxyInitialized | ( | ) | |
Notifies that a proxy has finished its initialization. This triggers wait queue handling.
Note that the notifying proxy might or might not have initialized properly.
OpenChannel(CSensrvMessage &)
ProxyCleanerCallback(TAny *)
TInt
| ProxyCleanerCallback | ( | TAny * | aObject | ) | [private, static] |
Callback method for proxy cleaner periodic object. Check which proxies are marked for deletion and deletes them if they are ready for cleanup.
Parameters
TAny * aObject | Pointer to this |
QueryChannels(CSensrvMessage &)
Requests info about channels asynchronously. Any errors are indicated in message completion code.
Parameters
CSensrvMessage & aMessage | The message related to this request. Ownership passed here. |
RemoveChannelChangeListenerFromDynamicChannelSsys(const TSensrvResourceChannelInfo &, const RMessage2 &)
Removes channel change listener from the matching dynamic channel SSYs to allow unloading.
ServerHeap()
RHeap * | ServerHeap | ( | ) | [inline] |
Get pointer to server main thread heap
SessionTerminated(CSensrvSession *)
Cleans up session related data.
ShutdownServer(const RMessage2 &)
void | ShutdownServer | ( | const RMessage2 & | aMessage | ) | |
Shuts server down gracefully.
Parameters
const RMessage2 & aMessage | Message related to shutdown. |
SsyHeapMaxSize()
TInt
| SsyHeapMaxSize | ( | ) | [inline] |
SsyInactivityPeriod()
Get SSY inactivity period before unloading
SsyStackSize()
TInt
| SsyStackSize | ( | ) | [inline] |
SsyThreadTerminated()
void | SsyThreadTerminated | ( | ) | |
Notifies that proxy thread has been terminated
ThreadTerminationGracePeriod()
Get thread termination grace period
Member Data Documentation
TBool
iAllProxiesInitialized
TBool
| iAllProxiesInitialized | [private] |
Indicates all proxies have been initialized
TInt
iBufferSizeMultiplier
TInt
| iBufferSizeMultiplier | [private] |
CSensrvEcomChangeListener * iEcomChangeListener
Listener for SSY plugin changes Own
RHeap * iHeap
Pointer to server main thread heap. Not own.
TInt
iIdCounter
Counter used to generate unique ids.
CPeriodic * iProxyCleaner
Used to delete uninstalled proxies asynchronously Own
RPointerArray< CSensrvPluginProxy > iProxyList
Master list or proxies. Own proxies contained in array.
RMutex
iProxyManagerMutex
RMutex
| iProxyManagerMutex | [private] |
Critical section to protect access to iIdCounter
CSensrvServer & iServer
Reference to server main class. Not own
CSensrvShutdown * iServerShutdown
A pointer to server shutdown, owned
TInt
iSessionCounter
TInt
| iSessionCounter | [private] |
Keep track of current sessions
TBool
iShutdown
Indicates if automatic server termination has been started.
RMessagePtr2
iShutdownMessage
TInt
iShuttingDownCount
TInt
| iShuttingDownCount | [private] |
Number of SSY threads still active during shutdown.
TInt
iSsyHeapMaxSize
TInt
| iSsyHeapMaxSize | [private] |
SSY thread maximum heap size
RImplInfoPtrArray * iSsyImplInfoArray
Implementation info array of SSYs Own.
TTimeIntervalMicroSeconds32
iSsyInactivityPeriod
SSY inactivity period before unloading
TInt
iSsyStackSize
TInt
| iSsyStackSize | [private] |
TTimeIntervalMicroSeconds32
iTerminationPeriod
Automatic server termination grace period
TTimeIntervalMicroSeconds32
iThreadTerminationGracePeriod
Thread termination grace period
TTimeIntervalMicroSeconds32
iTransactionTimeout
Transaction timeout for plugin transactions
CSensrvTransactionQueue * iWaitQueueOpenChannel
Holds transactions while all proxies finish initializing. Queued transactions are owned by queue. Own.
CSensrvTransactionQueue * iWaitQueueQueryChannels
Holds transactions while all proxies finish initializing. Queued transactions are owned by queue. Own.
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.