Original Symbian headers
Selected EUSER, Window Server, networking, graphics and device declarations
Loading...
Searching...
No Matches
TIpcArgs Class Reference

A Version 2 client/server class that clients use to package the arguments to be sent to a server. More...

#include <e32cmn.h>

Public Types

enum  TArgType {
  EUnspecified = 0 , EHandle = 1 , EFlagDes = 4 , EFlagConst = 2 ,
  EFlag16Bit = 1 , EDes8 = EFlagDes , EDes16 = EFlagDes|EFlag16Bit , EDesC8 = EFlagDes|EFlagConst ,
  EDesC16 = EFlagDes|EFlagConst|EFlag16Bit
}
 Argument types; some of these may be ORed together to specify type, accessibility, and width. More...
 
enum  {
  KBitsPerType = 3 , KPinArgShift = KBitsPerType*KMaxMessageArguments , KPinArg0 = 1<<(KPinArgShift+0) , KPinArg1 = 1<<(KPinArgShift+1) ,
  KPinArg2 = 1<<(KPinArgShift+2) , KPinArg3 = 1<<(KPinArgShift+3) , KPinMask = 0xf<<KPinArgShift
}
 
enum  TNothing { ENothing }
 Indicates a Null argument. More...
 

Public Member Functions

 TIpcArgs ()
 Default constructor.
 
template<class T0 >
 TIpcArgs (T0 a0)
 A templated constructor that constructs the argument package; it takes 1 argument.
 
template<class T0 , class T1 >
 TIpcArgs (T0 a0, T1 a1)
 A templated constructor that constructs the argument package; it takes 2 arguments.
 
template<class T0 , class T1 , class T2 >
 TIpcArgs (T0 a0, T1 a1, T2 a2)
 A templated constructor that constructs the argument package; it takes 3 arguments.
 
template<class T0 , class T1 , class T2 , class T3 >
 TIpcArgs (T0 a0, T1 a1, T2 a2, T3 a3)
 A templated constructor that constructs the argument package; it takes 4 arguments.
 
void Set (TInt aIndex, TNothing)
 Sets an argument to default value and type.
 
void Set (TInt aIndex, TInt aValue)
 Sets an argument value of TInt type.
 
void Set (TInt aIndex, const TAny *aValue)
 Sets an argument value of TAny* type.
 
void Set (TInt aIndex, RHandleBase aValue)
 Sets an argument value of RHandleBase type.
 
void Set (TInt aIndex, const TDesC8 *aValue)
 Sets an argument value TDesC8* type.
 
void Set (TInt aIndex, const TDesC16 *aValue)
 Sets an argument value of TDesC16* type.
 
void Set (TInt aIndex, TDes8 *aValue)
 Sets an argument value of TDes8* type.
 
void Set (TInt aIndex, TDes16 *aValue)
 Sets an argument value of TDes16* type.
 
TIpcArgs & PinArgs (TBool aPinArg0=ETrue, TBool aPinArg1=ETrue, TBool aPinArg2=ETrue, TBool aPinArg3=ETrue)
 Allows the client to specify whether each argument of the TIpcArgs object will be pinned before being sent to the server.
 

Public Attributes

TInt iArgs [KMaxMessageArguments]
 The location where the message arguments are stored.
 
TInt iFlags
 The location where the flag bits describing the argument types are stored.
 

Detailed Description

A Version 2 client/server class that clients use to package the arguments to be sent to a server.

The object can package up to 4 arguments together with information about each argument's type, width and accessibility; it is also possible for the package to contain zero arguments. In addition to the default constructor, the class has four templated constructors, allowing an object of this type to be constructed for 0, 1, 2, 3 or 4 arguments.

Internally, the arguments are stored in a simple TInt array. Consecutive arguments in a constructor's parameter list are put into consecutive slots in the array. The Set() overloaded functions can be used to set argument values into specific slots within this array.

API status
Published to all clients. Released API.

Definition at line 6816 of file e32cmn.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
API status
Internal component API.
Enumerator
KBitsPerType 

Number of bits of type information used for each of the 4 arguments.

KPinArgShift 

Bit number of the start of the pin flags.

KPinArg0 

Set to pin argument at index 0.

KPinArg1 

Set to pin argument at index 1.

KPinArg2 

Set to pin argument at index 2.

KPinArg3 

Set to pin argument at index 3.

KPinMask 

The bits used for the pinning attributes of each argument.

Definition at line 6846 of file e32cmn.h.

◆ TArgType

Argument types; some of these may be ORed together to specify type, accessibility, and width.

API status
Internal component API.
Enumerator
EUnspecified 

Type not specified.

EHandle 

Handle type.

EFlagDes 

Descriptor type.

EFlagConst 

Read only type.

EFlag16Bit 

16 bit rather than 8 bit.

EDes8 

8 bit read/write descriptor.

EDes16 

16 bit read/write descriptor.

EDesC8 

8 bit read only descriptor.

EDesC16 

16 bit read only descriptor.

Definition at line 6827 of file e32cmn.h.

◆ TNothing

Indicates a Null argument.

Enumerator
ENothing 

An enum value that can be used to indicate an empty or unused argument to a server.

For example:

TIpcArgs args(arg1, TIpcArgs::ENothing, arg2);
A Version 2 client/server class that clients use to package the arguments to be sent to a server.
Definition e32cmn.h:6817
@ ENothing
An enum value that can be used to indicate an empty or unused argument to a server.
Definition e32cmn.h:6873

This argument will have an undefined value when the server receives the message.

Definition at line 6861 of file e32cmn.h.

Constructor & Destructor Documentation

◆ TIpcArgs() [1/5]

TIpcArgs::TIpcArgs ( )
inline

Default constructor.

An argument package constructed using this constructor has no arguments; however, arguments can subsequently be set into this argument package object using the Set() member functions.

Definition at line 6883 of file e32cmn.h.

◆ TIpcArgs() [2/5]

template<class T0 >
TIpcArgs::TIpcArgs ( T0  a0)
inlineexplicit

A templated constructor that constructs the argument package; it takes 1 argument.

Parameters
a0An argument of general class type T0 to be contained by this object.

Definition at line 6896 of file e32cmn.h.

◆ TIpcArgs() [3/5]

template<class T0 , class T1 >
TIpcArgs::TIpcArgs ( T0  a0,
T1  a1 
)
inline

A templated constructor that constructs the argument package; it takes 2 arguments.

Parameters
a0An argument of general class type T0 to be contained by this object.
a1An argument of general class type T1 to be contained by this object.

Definition at line 6913 of file e32cmn.h.

◆ TIpcArgs() [4/5]

template<class T0 , class T1 , class T2 >
TIpcArgs::TIpcArgs ( T0  a0,
T1  a1,
T2  a2 
)
inline

A templated constructor that constructs the argument package; it takes 3 arguments.

Parameters
a0An argument of general class type T0 to be contained by this object.
a1An argument of general class type T1 to be contained by this object.
a2An argument of general class type T2 to be contained by this object.

Definition at line 6933 of file e32cmn.h.

◆ TIpcArgs() [5/5]

template<class T0 , class T1 , class T2 , class T3 >
TIpcArgs::TIpcArgs ( T0  a0,
T1  a1,
T2  a2,
T3  a3 
)
inline

A templated constructor that constructs the argument package; it takes 4 arguments.

Parameters
a0An argument of general class type T0 to be contained by this object.
a1An argument of general class type T1 to be contained by this object.
a2An argument of general class type T2 to be contained by this object.
a3An argument of general class type T3 to be contained by this object.

Definition at line 6956 of file e32cmn.h.

Member Function Documentation

◆ PinArgs()

TIpcArgs & TIpcArgs::PinArgs ( TBool  aPinArg0 = ETrue,
TBool  aPinArg1 = ETrue,
TBool  aPinArg2 = ETrue,
TBool  aPinArg3 = ETrue 
)
inline

Allows the client to specify whether each argument of the TIpcArgs object will be pinned before being sent to the server.

To pin all the arguments in the TIpcArgs object pass no parameters to this method.

(generated from Symbian Developer Library)

◆ Set() [1/8]

void TIpcArgs::Set ( TInt  aIndex,
const TAny *  aValue 
)
inline

Sets an argument value of TAny* type.

Parameters
aIndexAn index value that identifies the slot in the array of arguments into which the argument value is to be placed. This must be a value in the range 0 to 3.
aValueThe argument value.

(generated from Symbian Developer Library)

◆ Set() [2/8]

void TIpcArgs::Set ( TInt  aIndex,
const TDesC16 *  aValue 
)
inline

Sets an argument value of TDesC16* type.

Parameters
aIndexAn index value that identifies the slot in the array of arguments into which the argument value is to be placed. This must be a value in the range 0 to 3.
aValueThe argument value.

(generated from Symbian Developer Library)

◆ Set() [3/8]

void TIpcArgs::Set ( TInt  aIndex,
const TDesC8 *  aValue 
)
inline

Sets an argument value TDesC8* type.

Parameters
aIndexAn index value that identifies the slot in the array of arguments into which the argument value is to be placed. This must be a value in the range 0 to 3.
aValueThe argument value.

(generated from Symbian Developer Library)

◆ Set() [4/8]

void TIpcArgs::Set ( TInt  aIndex,
RHandleBase  aValue 
)
inline

Sets an argument value of RHandleBase type.

Parameters
aIndexAn index value that identifies the slot in the array of arguments into which the argument value is to be placed. This must be a value in the range 0 to 3.
aValueThe argument value.

(generated from Symbian Developer Library)

◆ Set() [5/8]

void TIpcArgs::Set ( TInt  aIndex,
TDes16 *  aValue 
)
inline

Sets an argument value of TDes16* type.

Parameters
aIndexAn index value that identifies the slot in the array of arguments into which the argument value is to be placed. This must be a value in the range 0 to 3.
aValueThe argument value.

(generated from Symbian Developer Library)

◆ Set() [6/8]

void TIpcArgs::Set ( TInt  aIndex,
TDes8 *  aValue 
)
inline

Sets an argument value of TDes8* type.

Parameters
aIndexAn index value that identifies the slot in the array of arguments into which the argument value is to be placed. This must be a value in the range 0 to 3.
aValueThe argument value.

(generated from Symbian Developer Library)

◆ Set() [7/8]

void TIpcArgs::Set ( TInt  aIndex,
TInt  aValue 
)
inline

Sets an argument value of TInt type.

Parameters
aIndexAn index value that identifies the slot in the array of arguments into which the argument value is to be placed. This must be a value in the range 0 to 3.
aValueThe argument value.

(generated from Symbian Developer Library)

◆ Set() [8/8]

void TIpcArgs::Set ( TInt  aIndex,
TNothing   
)
inline

Sets an argument to default value and type.

(generated from Symbian Developer Library)

Member Data Documentation

◆ iArgs

TInt TIpcArgs::iArgs[KMaxMessageArguments]

The location where the message arguments are stored.

There is no reason to access this data member directly and it should be considered as internal.

Definition at line 7013 of file e32cmn.h.

◆ iFlags

TInt TIpcArgs::iFlags

The location where the flag bits describing the argument types are stored.

The symbolic values describing the argument types are internal to Symbian, and there is therefore no reason to access this data member directly. It should be considered as internal.

Definition at line 7022 of file e32cmn.h.


The documentation for this class was generated from the following files: