RSoundPlugIn Class Reference

#include <w32std.h>

Link against: ws32_nga.lib

class RSoundPlugIn : public MWsClientClass

Inherits from

Public Member Enumerations
enumanonymous { ESoundWrongPlugIn }
Public Member Functions
RSoundPlugIn()
RSoundPlugIn(RWsSession &)
IMPORT_C voidClose()
IMPORT_C TIntCommandReply(TInt, const TPtrC8 &)
IMPORT_C TIntConstruct(TUid)
IMPORT_C voidDestroy()
IMPORT_C TBoolIsLoaded(TBool &)
IMPORT_C TBoolKeyClickEnabled()
IMPORT_C TIntLoad(const TDesC &)
IMPORT_C TBoolPenClickEnabled()
IMPORT_C voidSetKeyClick(TBool)
IMPORT_C voidSetPenClick(TBool)
IMPORT_C TIntUnload()
Inherited Attributes
MWsClientClass::iBuffer
MWsClientClass::iWsHandle
Inherited Functions
MWsClientClass::AddToBitmapArray(const TInt)const
MWsClientClass::AsyncRequest(TRequestStatus &,TUint)const
MWsClientClass::CachedWindowSize(TSize &)const
MWsClientClass::DestroyWindowNativeSizeCacheEntry()
MWsClientClass::DestroyWindowSizeCacheEntry()
MWsClientClass::EnableWindowNativeSizeCacheL()
MWsClientClass::MWsClientClass()
MWsClientClass::MWsClientClass(RWsBuffer *)
MWsClientClass::MarkWindowSizeCacheDirty()
MWsClientClass::RefreshWindowSizeCache(const TSize &)const
MWsClientClass::SetWindowNativeSize(const TSize &)const
MWsClientClass::WindowNativeSize(TSize &)const
MWsClientClass::WindowNativeSizeCacheEnabled()const
MWsClientClass::WindowSizeCacheEnabled()const
MWsClientClass::Write(TUint)const
MWsClientClass::Write(const TAny *,TInt,TUint)const
MWsClientClass::Write(const TAny *,TInt,const TAny *,TInt,TUint)const
MWsClientClass::WriteInt(TInt,TUint)const
MWsClientClass::WritePoint(const TPoint &,TUint)const
MWsClientClass::WriteRect(const TRect &,TUint)const
MWsClientClass::WriteReply(TUint,const TIpcArgs *)const
MWsClientClass::WriteReply(const TAny *,TInt,TUint,const TIpcArgs *)const
MWsClientClass::WriteReply(const TAny *,TInt,const TAny *,TInt,TUint,const TIpcArgs *)const
MWsClientClass::WriteReplyByProvidingRemoteReadAccess(const TAny *,TInt,const TReadDescriptorType &,TUint)const
MWsClientClass::WriteReplyInt(TInt,TUint,const TIpcArgs *)const
MWsClientClass::WriteReplyIntP(TInt,const TWriteDescriptorType &,TUint)const
MWsClientClass::WriteReplyP(const TAny *,TInt,const TAny *,TInt,const TWriteDescriptorType &,TUint)const
MWsClientClass::WriteReplyP(const TAny *,TInt,const TWriteDescriptorType &,TUint)const
MWsClientClass::WriteReplyP(const TWriteDescriptorType &,TUint)const
MWsClientClass::WriteSize(const TSize &,TUint)const
MWsClientClass::WsHandle()const

Detailed Description

Client interface to the key or pointer click plug-in DLL.

The plug-in DLL implements the CClickMaker class.

See also: CClickMaker

Member Enumeration Documentation

Enum anonymous

A possible return value for CommandReply().

EnumeratorValueDescription
ESoundWrongPlugInKMinTInt

The value returned by CommandReply() if no plug-in is loaded, or if the plug-in identified by the aUid parameter in Construct() is not loaded. Its value is set to KMinTInt so that it should not clash with any other expected return value from this function.

Constructor & Destructor Documentation

RSoundPlugIn ( )

IMPORT_CRSoundPlugIn()

Default constructor.

RSoundPlugIn ( RWsSession & )

IMPORT_CRSoundPlugIn(RWsSession &aWs)

C++ constructor.

After calling this function, Construct() must be called to complete construction.

ParameterDescription
aWsConnected session with the window server.

Member Function Documentation

Close ( )

IMPORT_C voidClose()

Sets the handle to zero and frees the resource owned by the server.

CommandReply ( TInt, const TPtrC8 & )

IMPORT_C TIntCommandReply(TIntaOpcode,
const TPtrC8 &aArgs
)

Sends a command to the plug-in DLL and may receive a response.

If the correct plug-in is loaded, its implementation of CommandReplyL() is called and its return code is returned by this function.

Specify an opcode of zero if you just want the identity of the plug-in DLL being used.

This function always causes a flush of the window server buffer.

ParameterDescription
aOpcodeOpcode understood by both the window server client and the plug-in DLL. If an opcode of zero is specified, this is intercepted by the window server, and the third UID of the plug-in is returned. This allows the caller to identify the plug-in DLL being used.
aArgsPackaged arguments which are passed to the plug-in via the window server.

Returns: KErrNone or another of the system error codes, as returned by the plug-in's CommandReplyL() implementation. ESoundWrongPlugIn is returned if no plug-in is loaded, or if the plug-in identified by the aUid parameter in Construct() is not loaded.

Construct ( TUid )

IMPORT_C TIntConstruct(TUidaUid = KNullUid)

Second phase constructor.

Creates the server side resource and initialises the client's handle to it.

This function always causes a flush of the window server buffer.

panic
TW32Panic 17 in debug builds if called on an already constructed object.
ParameterDescription
aUidOptional UID. This can be ignored unless you intend to use the CommandReply() function. If you do intend to use CommandReply(), this should be the plug-in DLL's third UID. CommandReply() will return the value ESoundWrongPlugIn if the plug-in DLL identified by this UID is not loaded.

Returns: KErrNone if the function was successful, otherwise one of the system wide error codes.

Destroy ( )

IMPORT_C voidDestroy()

Closes (by calling Close()) and deletes the object.

IsLoaded ( TBool & )

IMPORT_C TBoolIsLoaded(TBool &aIsChangeable)const

Tests whether a key or pointer click plug-in DLL is currently loaded.

If one is currently loaded, aIsChangeAble returns whether or not it can be unloaded.

This function always causes a flush of the window server buffer.

ParameterDescription
aIsChangeableIf a plug-in is currently loaded, this returns ETrue if it can be unloaded and EFalse if it cannot. This depends on whether the KEYCLICKPLUGINFIXED keyword is specified in wsini.ini for the plug-in.

Returns: ETrue if a plug-in is currently loaded, EFalse if not.

KeyClickEnabled ( )

IMPORT_C TBoolKeyClickEnabled()const

Tests whether key clicks are enabled, as set by SetKeyClick().

This function always causes a flush of the window server buffer.

Returns: ETrue if key clicks are enabled, EFalse if they are disabled.

Load ( const TDesC & )

IMPORT_C TIntLoad(const TDesC &aFileName)

Loads a new plug-in, replacing the existing one, if any.

This function always causes a flush of the window server buffer.

capability
WriteDeviceData
ParameterDescription
aFileNameThe filename of the plug-in DLL to load.

Returns: KErrNone if the function was successful. KErrNotSupported if the currently loaded plug-in could not be unloaded or aFileName does not refer to a loadable plug-in.

PenClickEnabled ( )

IMPORT_C TBoolPenClickEnabled()const

Tests whether pointer clicks are enabled, as set by SetPenClick().

This function always causes a flush of the window server buffer.

Returns: ETrue if pointer clicks are enabled, EFalse if they are disabled.

SetKeyClick ( TBool )

IMPORT_C voidSetKeyClick(TBoolaEnabled)

Sets whether key clicks should be enabled or disabled.

By default, key clicks are enabled.

capability
WriteDeviceData
ParameterDescription
aEnabledETrue to enable key clicks, EFalse to disable them.

SetPenClick ( TBool )

IMPORT_C voidSetPenClick(TBoolaEnabled)

Sets whether pointer clicks should be enabled or disabled.

By default, pointer clicks are enabled.

capability
WriteDeviceData
ParameterDescription
aEnabledETrue to enable pointer clicks, EFalse to disable them.

Unload ( )

IMPORT_C TIntUnload()

Unloads the plug-in if one is currently loaded and if it can be unloaded.

This function always causes a flush of the window server buffer.

capability
WriteDeviceData

Returns: KErrNone if the function was successful, KErrNotSupported if it could not be unloaded.