class RWsSession : public MWsClientClass |
Window server session.
The session between the client and the window server can be used to mediate asynchronous events, for client interface control and for system control. A description of each of these capabilities is given below.
Mediating asynchronous events:
Primarily, the session mediates asynchronous events to the user. Three event streams are available: the standard event stream which all applications must use; the redraw event stream which must be used by all applications except those which exclusively use backed-up windows; and the priority key event stream which may be used for abort keys and the like for specialist applications.
All these events are mediated as standard asynchronous services. Typical window server client programs encapsulate each service they require in an active object whose RunL() identifies the event and calls the appropriate member function of a class associated with an application framework, or a window.
Client interface control:
The client's interface with the window server has several aspects, each of which is controlled through the window server session.
Flushing defines how requests to the window server are handled.
System control:
Many system-wide settings may be controlled through the window server session. Typically, these functions are only used by the system shell and its associated sessions/applications. They include: auto-repeat and double-click, querying all window groups in the system, setting the default shadow vector, setting the system pointer cursors, counting resources used by the window server (this is only useful for debugging checks), getting and setting the state of the modifier keys (for instance Shift and Ctrl), setting the window server background colour, getting and setting thresholds for window server generated pointer events.
Private Member Functions | |
---|---|
void | DirectAcessActivation(TBool) |
TInt | DoFlush(const TIpcArgs &) |
TInt | DoSyncMsgBuf(const TIpcArgs &) |
void | connectL() |
void | doReadEvent(TRequestStatus *, TInt) |
TInt | doSetHotKey(TInt, TInt, TUint, TUint, TUint) |
TInt | doWindowGroupList(TInt, RArray< TWindowGroupChainInfo > *, TInt, TInt) |
TInt | doWindowGroupList(TInt, TInt, CArrayFixFlat< TInt > *, TInt, TInt) |
Inherited Attributes | |
---|---|
MWsClientClass::iBuffer | |
MWsClientClass::iWsHandle |
IMPORT_C void | ClearSystemPointerCursor | ( | TInt | aCursorNumber | ) |
TInt aCursorNumber |
IMPORT_C TInt | DebugInfo | ( | TInt | aFunction, |
TDes8 & | aReturnBuf, | |||
TInt | aParam = 0 | |||
) | const |
void | DirectAcessActivation | ( | TBool | aIsNowActive | ) | [private] |
TBool aIsNowActive |
TInt | DoFlush | ( | const TIpcArgs & | aIpcArgs | ) | [private] |
const TIpcArgs & aIpcArgs |
TInt | DoSyncMsgBuf | ( | const TIpcArgs & | aIpcArgs | ) | [private] |
const TIpcArgs & aIpcArgs |
IMPORT_C void | EventReady | ( | TRequestStatus * | aStat | ) |
TRequestStatus * aStat |
IMPORT_C TInt | FetchMessage | ( | TUid & | aUid, |
TPtr8 & | aParams, | |||
const TWsEvent & | aMessageEvent | |||
) | const |
IMPORT_C TInt | FindWindowGroupIdentifier | ( | TInt | aPreviousIdentifier, |
const TDesC & | aMatch, | |||
TInt | aOffset = 0 | |||
) | const |
IMPORT_C TInt | FindWindowGroupIdentifier | ( | TInt | aPreviousIdentifier, |
TThreadId | aThreadId | |||
) | const |
IMPORT_C TInt | GetColorModeList | ( | CArrayFixFlat< TInt > * | aModeList | ) | const |
CArrayFixFlat< TInt > * aModeList |
IMPORT_C TInt | GetColorModeList | ( | TInt | aScreenNumber, |
CArrayFixFlat< TInt > * | aModeList | |||
) | const |
TInt aScreenNumber | |
CArrayFixFlat< TInt > * aModeList |
IMPORT_C TDisplayMode | GetDefModeMaxNumColors | ( | TInt & | aColor, |
TInt & | aGray | |||
) | const |
IMPORT_C TDisplayMode | GetDefModeMaxNumColors | ( | TInt | aScreenNumber, |
TInt & | aColor, | |||
TInt & | aGray | |||
) | const |
IMPORT_C TInt | GetDefaultOwningWindow | ( | TInt | aScreenNumber | ) | const |
TInt aScreenNumber |
IMPORT_C void | GetDoubleClickSettings | ( | TTimeIntervalMicroSeconds32 & | aInterval, |
TInt & | aDistance | |||
) | const |
TTimeIntervalMicroSeconds32 & aInterval | |
TInt & aDistance |
IMPORT_C TInt | GetFocusWindowGroup | ( | TInt | aScreenNumber | ) | const |
TInt aScreenNumber |
IMPORT_C void | GetKeyboardRepeatRate | ( | TTimeIntervalMicroSeconds32 & | aInitialTime, |
TTimeIntervalMicroSeconds32 & | aTime | |||
) | const |
TTimeIntervalMicroSeconds32 & aInitialTime | |
TTimeIntervalMicroSeconds32 & aTime |
IMPORT_C void | GetPriorityKey | ( | TWsPriorityKeyEvent & | aEvent | ) | const |
TWsPriorityKeyEvent & aEvent |
IMPORT_C void | GetRedraw | ( | TWsRedrawEvent & | aEvent | ) |
TWsRedrawEvent & aEvent |
IMPORT_C TInt | GetWindowGroupClientThreadId | ( | TInt | aIdentifier, |
TThreadId & | aThreadId | |||
) | const |
IMPORT_C TInt | GetWindowGroupHandle | ( | TInt | aIdentifier | ) | const |
TInt aIdentifier |
IMPORT_C TInt | GetWindowGroupNameFromIdentifier | ( | TInt | aIdentifier, |
TDes & | aWindowName | |||
) | const |
IMPORT_C TInt | GetWindowGroupOrdinalPriority | ( | TInt | aIdentifier | ) | const |
TInt aIdentifier |
void | GraphicMessageReady | ( | TRequestStatus * | aStat | ) |
TRequestStatus * aStat |
IMPORT_C void | HeapSetBurstFail | ( | TInt | aTAllocFail, |
TInt | aRate, | |||
TInt | aBurst | |||
) |
IMPORT_C void | LogCommand | ( | TLoggingCommand | aCommand | ) |
TLoggingCommand aCommand |
IMPORT_C void | LogMessage | ( | const TLogMessageText & | aMessage | ) |
const TLogMessageText & aMessage |
IMPORT_C TRect | PointerCursorArea | ( | TInt | aScreenSizeMode | ) | const |
TInt aScreenSizeMode |
IMPORT_C void | PriorityKeyReady | ( | TRequestStatus * | aStat | ) |
TRequestStatus * aStat |
IMPORT_C void | RedrawReady | ( | TRequestStatus * | aStat | ) |
TRequestStatus * aStat |
IMPORT_C TInt | RegisterSurface | ( | TInt | aScreenNumber, |
const TSurfaceId & | aSurface | |||
) |
TInt aScreenNumber | |
const TSurfaceId & aSurface |
IMPORT_C TInt | RequestOffEvents | ( | TBool | aOn, |
RWindowTreeNode * | aWin = NULL | |||
) |
TBool aOn | |
RWindowTreeNode * aWin = NULL |
IMPORT_C TInt | RestoreDefaultHotKey | ( | THotKey | aType | ) |
THotKey aType |
IMPORT_C TInt | SendEventToAllWindowGroups | ( | const TWsEvent & | aEvent | ) |
const TWsEvent & aEvent |
IMPORT_C TInt | SendEventToAllWindowGroups | ( | TInt | aPriority, |
const TWsEvent & | aEvent | |||
) |
IMPORT_C TInt | SendEventToOneWindowGroupsPerClient | ( | const TWsEvent & | aEvent | ) |
const TWsEvent & aEvent |
IMPORT_C TInt | SendEventToWindowGroup | ( | TInt | aIdentifier, |
const TWsEvent & | aEvent | |||
) |
IMPORT_C TInt | SendMessageToAllWindowGroups | ( | TUid | aUid, |
const TDesC8 & | aParams | |||
) |
IMPORT_C TInt | SendMessageToAllWindowGroups | ( | TInt | aPriority, |
TUid | aUid, | |||
const TDesC8 & | aParams | |||
) |
IMPORT_C TInt | SendMessageToWindowGroup | ( | TInt | aIdentifier, |
TUid | aUid, | |||
const TDesC8 & | aParams | |||
) |
IMPORT_C TInt | SetClientCursorMode | ( | TPointerCursorMode | aMode | ) |
TPointerCursorMode aMode |
IMPORT_C TInt | SetCloseProximityThresholds | ( | TInt | aEnterCloseProximityThreshold, |
TInt | aExitCloseProximityThreshold | |||
) |
IMPORT_C TInt | SetCustomTextCursor | ( | TInt | aIdentifier, |
const TArray< TSpriteMember > & | aSpriteMemberArray, | |||
TUint | aSpriteFlags, | |||
TCustomTextCursorAlignment | aAlignment | |||
) |
TInt aIdentifier | |
const TArray< TSpriteMember > & aSpriteMemberArray | |
TUint aSpriteFlags | |
TCustomTextCursorAlignment aAlignment |
IMPORT_C void | SetDefaultFadingParameters | ( | TUint8 | aBlackMap, |
TUint8 | aWhiteMap | |||
) |
IMPORT_C void | SetDefaultSystemPointerCursor | ( | TInt | aCursorNumber | ) |
TInt aCursorNumber |
IMPORT_C TInt | SetDoubleClick | ( | const TTimeIntervalMicroSeconds32 & | aInterval, |
TInt | aDistance | |||
) |
const TTimeIntervalMicroSeconds32 & aInterval | |
TInt aDistance |
IMPORT_C TInt | SetHighPressureThresholds | ( | TInt | aEnterHighPressureThreshold, |
TInt | aExitHighPressureThreshold | |||
) |
IMPORT_C TInt | SetHotKey | ( | THotKey | aType, |
TUint | aKeyCode, | |||
TUint | aModifierMask, | |||
TUint | aModifier | |||
) |
IMPORT_C TInt | SetKeyboardRepeatRate | ( | const TTimeIntervalMicroSeconds32 & | aInitialTime, |
const TTimeIntervalMicroSeconds32 & | aTime | |||
) |
const TTimeIntervalMicroSeconds32 & aInitialTime | |
const TTimeIntervalMicroSeconds32 & aTime |
IMPORT_C TInt | SetModifierState | ( | TEventModifier | aModifier, |
TModifierState | aState | |||
) |
TEventModifier aModifier | |
TModifierState aState |
IMPORT_C void | SetPointerCursorArea | ( | const TRect & | aArea | ) |
const TRect & aArea |
IMPORT_C void | SetPointerCursorArea | ( | TInt | aScreenSizeMode, |
const TRect & | aArea | |||
) |
IMPORT_C void | SetPointerCursorMode | ( | TPointerCursorMode | aMode | ) |
TPointerCursorMode aMode |
IMPORT_C TInt | SetPointerCursorPosition | ( | const TPoint & | aPosition | ) |
const TPoint & aPosition |
IMPORT_C void | SetShadowVector | ( | const TPoint & | aVector | ) |
const TPoint & aVector |
IMPORT_C TInt | SetSystemFaded | ( | TBool | aFaded, |
TUint8 | aBlackMap, | |||
TUint8 | aWhiteMap | |||
) |
IMPORT_C TInt | SetSystemPointerCursor | ( | const RWsPointerCursor & | aPointerCursor, |
TInt | aCursorNumber | |||
) |
const RWsPointerCursor & aPointerCursor | |
TInt aCursorNumber |
IMPORT_C TInt | SetWindowGroupOrdinalPosition | ( | TInt | aIdentifier, |
TInt | aPosition | |||
) |
IMPORT_C void | SimulateKeyEvent | ( | TKeyEvent | aEvent | ) |
TKeyEvent aEvent |
IMPORT_C void | SimulateRawEvent | ( | TRawEvent | aEvent | ) |
TRawEvent aEvent |
IMPORT_C void | SimulateXyInputType | ( | TInt | aInputType | ) |
TInt aInputType |
IMPORT_C void | SystemInfo | ( | TInt & | aSystemInfoNumber, |
SSystemInfo & | aSystemInfo | |||
) |
TInt & aSystemInfoNumber | |
SSystemInfo & aSystemInfo |
IMPORT_C void | TestWrite | ( | TInt | aHandle, |
TInt | aOpcode, | |||
const TAny * | aData, | |||
TInt | aLength | |||
) |
IMPORT_C void | TestWriteReply | ( | TInt | aHandle, |
TInt | aOpcode, | |||
const TAny * | aData, | |||
TInt | aLength | |||
) |
IMPORT_C TInt | TestWriteReplyByProvidingRemoteReadAccess | ( | TInt | aHandle, |
TInt | aOpcode, | |||
const TDesC8 & | aData, | |||
const TDesC8 & | aRemoteReadBuffer | |||
) |
IMPORT_C TInt | TestWriteReplyByProvidingRemoteReadAccess | ( | TInt | aHandle, |
TInt | aOpcode, | |||
const TDesC8 & | aData, | |||
const TDesC16 & | aRemoteReadBuffer | |||
) |
IMPORT_C void | TestWriteReplyP | ( | TInt | aHandle, |
TInt | aOpcode, | |||
const TAny * | aData, | |||
TInt | aLength, | |||
TDes8 * | aReplyPackage | |||
) |
IMPORT_C void | UnregisterSurface | ( | TInt | aScreenNumber, |
const TSurfaceId & | aSurface | |||
) |
TInt aScreenNumber | |
const TSurfaceId & aSurface |
IMPORT_C TInt | WindowGroupList | ( | CArrayFixFlat< TInt > * | aWindowList | ) | const |
CArrayFixFlat< TInt > * aWindowList |
IMPORT_C TInt | WindowGroupList | ( | RArray< TWindowGroupChainInfo > * | aWindowList | ) | const |
RArray< TWindowGroupChainInfo > * aWindowList |
IMPORT_C TInt | WindowGroupList | ( | TInt | aPriority, |
CArrayFixFlat< TInt > * | aWindowList | |||
) | const |
TInt aPriority | |
CArrayFixFlat< TInt > * aWindowList |
IMPORT_C TInt | WindowGroupList | ( | TInt | aPriority, |
RArray< TWindowGroupChainInfo > * | aWindowList | |||
) | const |
TInt aPriority | |
RArray< TWindowGroupChainInfo > * aWindowList |
IMPORT_C TInt | WindowGroupList | ( | CArrayFixFlat< TInt > * | aWindowList, |
TInt | aScreenNumber, | |||
TInt | aPriority = EAllPriorities | |||
) | const |
CArrayFixFlat< TInt > * aWindowList | |
TInt aScreenNumber | |
TInt aPriority = EAllPriorities |
void | doReadEvent | ( | TRequestStatus * | aStat, |
TInt | aOpcode | |||
) | [private] |
TRequestStatus * aStat | |
TInt aOpcode |
TInt | doSetHotKey | ( | TInt | aOpcode, |
TInt | aType, | |||
TUint | aKeycode, | |||
TUint | aModifierMask, | |||
TUint | aModifiers | |||
) | [private] |
TInt | doWindowGroupList | ( | TInt | aPriority, |
RArray< TWindowGroupChainInfo > * | aWindowListCh, | |||
TInt | aNumOpcode, | |||
TInt | aListOpcode | |||
) | const [private] |
TInt aPriority | |
RArray< TWindowGroupChainInfo > * aWindowListCh | |
TInt aNumOpcode | |
TInt aListOpcode |
TInt | doWindowGroupList | ( | TInt | aScreenNumber, |
TInt | aPriority, | |||
CArrayFixFlat< TInt > * | aWindowListId, | |||
TInt | aNumOpcode, | |||
TInt | aListOpcode | |||
) | const [private] |
Compute mode flags.
When a window group takes focus or loses it, the window server can boost its client's thread or process priority to provide a better response to the user. How it alters the priority is determined by the current compute mode of the client.
EPriorityControlDisabled |
Client priority is permanently set to its current level. It is not altered or set by the windowing system if the focus changes. Thus if ComputeMode() is called with this flag when a client is in the foreground, it will subsequently have foreground priority even if it is in the background. |
EPriorityControlComputeOn |
Client process's priority is always set to EPriorityBackground. |
EPriorityControlComputeOff |
Client process's priority is set to EPriorityForeground when the window group takes focus, and set to EPriorityBackground when it loses focus. This is the default behaviour. |
The vertical alignment of a custom text cursor sprite.
One of these values must be set, see SetCustomTextCursor(). This value also determines which part of each sprite member bitmap is clipped when the cursor's TTextCursor::EFlagClipVertical flag is set.
ECustomTextCursorAlignTop |
The y-origin of each sprite member bitmap is aligned with the top of the line. |
ECustomTextCursorAlignBaseline |
The y-origin of each sprite member bitmap is aligned with the baseline of the line. |
ECustomTextCursorAlignBottom |
The y-origin of each sprite member bitmap is aligned with the bottom of the line. |
Window server logging commands passed to LogCommand().
ELoggingEnable |
Enables logging. |
ELoggingDisable |
Disables logging. |
ELoggingStatusDump |
Logs the current status of all the windows in the tree, even if logging is not currently enabled. |
ELoggingHeapDump |
Logs information about the window server's heap size and usage, even if logging is not currently enabled. |