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()
TInt
|
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
TInt
|
iIdCounter
|
[private]
|
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
TBool
|
iShutdown
|
[private]
|
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.