Original Symbian headers
Selected EUSER, Window Server, networking, graphics and device declarations
Loading...
Searching...
No Matches
e32base.h File Reference
#include <e32std.h>
#include <e32base.inl>
#include <e32base_private.h>

Go to the source code of this file.

Classes

class  CBase
 Container Base Class. More...
 
class  CBufBase
 Defines the interface for dynamic buffers. More...
 
class  CBufFlat
 Provides a flat storage dynamic buffer. More...
 
class  CBufSeg
 Provides a segmented dynamic buffer. More...
 
class  TKeyArrayFix
 Defines the characteristics of a key used to access the elements of arrays of fixed length objects. More...
 
class  CArrayFixBase
 Base class for arrays of fixed length objects. More...
 
class  CArrayFix< T >
 A thin templated base class for arrays of fixed length objects. More...
 
class  CArrayFix< TAny >
 A template specialisation base class for arrays of fixed length untyped objects. More...
 
class  CArrayFixFlat< T >
 Array of fixed length objects contained within a flat dynamic buffer. More...
 
class  CArrayFixFlat< TAny >
 An array of fixed length untyped objects using a flat dynamic buffer. More...
 
class  CArrayFixFlat< TInt >
 Template specialisation base class for arrays of TInt types implemented in a flat dynamic buffer. More...
 
class  CArrayFixFlat< TUid >
 Template specialisation base class for arrays of TUid types implemented in a flat dynamic buffer. More...
 
class  CArrayFixSeg< T >
 Array of fixed length objects contained within a segmented buffer. More...
 
class  CArrayFixSeg< TAny >
 An array of fixed length untyped objects using a segmented dynamic buffer. More...
 
class  CArrayPtr< T >
 A thin templated base class for arrays of pointers to objects. More...
 
class  CArrayPtrFlat< T >
 Array of pointers to objects implemented using a flat dynamic buffer. More...
 
class  CArrayPtrSeg< T >
 Array of pointers to objects implemented using a segmented dynamic buffer. More...
 
class  TKeyArrayVar
 Defines the characteristics of a key used to access the elements of arrays of variable length objects. More...
 
class  CArrayVarBase
 An implementation base class for variable length arrays. More...
 
class  CArrayVar< T >
 A thin templated base class for variable length arrays. More...
 
class  CArrayVar< TAny >
 A template specialisation base class for variable length arrays. More...
 
class  CArrayVarFlat< T >
 Array of variable length objects implemented using a flat dynamic buffer. More...
 
class  CArrayVarSeg< T >
 Array of variable length objects implemented using a segmented dynamic buffer. More...
 
class  TKeyArrayPak
 Defines the characteristics of a key used to access the elements of packed arrays. More...
 
class  CArrayPakBase
 An implementation base class for all variable length, packed arrays. More...
 
class  CArrayPak< T >
 A thin templated base class for variable length, packed, arrays. More...
 
class  CArrayPak< TAny >
 A template specialisation base class for variable length, packed, arrays. More...
 
class  CArrayPakFlat< T >
 Array of variable length objects packed into a flat buffer. More...
 
class  CObject
 Implements reference counting to track concurrent references to itself. More...
 
class  CObjectIx
 Generates handle numbers for reference counting objects. More...
 
class  CObjectCon
 An object container. More...
 
class  CObjectConIx
 A container for object containers. More...
 
class  TCleanupItem
 Encapsulates a cleanup operation and an object on which the operation is to be performed. More...
 
class  CCleanup
 Implements the cleanup stack. More...
 
class  TAutoClose< T >
 Automatically calls Close() on an object when that object goes out of scope. More...
 
class  CTrapCleanup
 Cleanup stack interface. More...
 
class  CCirBufBase
 Base class for circular buffers. More...
 
class  CCirBuf< T >
 A circular buffer containing objects of a type defined by the template parameter. More...
 
class  CCirBuffer
 Circular buffer of unsigned 8-bit integers. More...
 
class  CActive
 The core class of the active object abstraction. More...
 
class  CIdle
 An active object that performs low-priority processing when no higher-priority active objects are ready to run. More...
 
class  CAsyncOneShot
 An active object that performs processing that is only performed once. More...
 
class  CAsyncCallBack
 An active object that performs its processing through an associated call back function, and which is only performed once. More...
 
class  TDeltaTimerEntry
 A timed event entry. More...
 
class  CDeltaTimer
 A queue of timed events. More...
 
class  CTimer
 Base class for a timer active object. More...
 
class  CPeriodic
 Periodic timer active object. More...
 
class  MBeating
 Heartbeat timer call-back handling interface. More...
 
class  CHeartbeat
 Heatbeat timer. More...
 
class  CSession2
 Represents a session (version 2) for a client thread on the server-side. More...
 
class  CServer2
 Abstract base class for servers (version 2). More...
 
class  CPolicyServer
 A security policy framework built on top of the normal CServer2 class. More...
 
class  CPolicyServer::TPolicyElement
 Class specifying a security check and the action to take. More...
 
class  CPolicyServer::TPolicy
 Object specifying which security checks to perform on each request number and what action to take if the check fails. More...
 
class  CActiveScheduler
 Controls the handling of asynchronous requests as represented by active objects. More...
 
class  CActiveSchedulerWait
 Controls a single scheduling loop in the current active scheduler. More...
 
class  CleanupStack
 A collection of static functions that are used to add resources to and remove resources from the cleanup stack. More...
 
class  CleanupDelete< T >
 A utility class used by the templated function CleanupDeletePushL() to create a TCleanupItem item that will perform a delete type operation on the class T type object. More...
 
class  CleanupArrayDelete< T >
 A utility class used by the templated function CleanupArrayDeletePushL() to create a TCleanupItem item that will perform a delete type operation on an array of class T type objects. More...
 
class  CleanupClose< T >
 A utility class used by the templated function CleanupClosePushL() to create a TCleanupItem item that will perform a close type operation on the class T type object. More...
 
class  CleanupRelease< T >
 A utility class used by the templated function CleanupReleasePushL() to create a TCleanupItem item that will perform a release type operation on the class T type object. More...
 
class  Console
 

Typedefs

typedef CBufBase *(* TBufRep) (TInt anExpandSize)
 
typedef void(* TCleanupOperation) (TAny *)
 Defines a function which takes a single argument of type TAny* and returns void.
 

Functions

TBool IsLocalHandle (TInt aHandle)
 
void SetLocalHandle (TInt &aHandle)
 
void UnSetLocalHandle (TInt &aHandle)
 
 NONSHARABLE_CLASS (TCleanupTrapHandler)
 Implementation for a handler to work with the TRAP mechanism.
 
template<class T >
void CleanupDeletePushL (T *aPtr)
 Constructs and pushes a TCleanupItem object onto the cleanup stack.
 
template<class T >
void CleanupArrayDeletePushL (T *aPtr)
 Constructs and pushes a TCleanupItem object onto the cleanup stack.
 
template<class T >
void CleanupClosePushL (T &aRef)
 Constructs and pushes a TCleanupItem object onto the cleanup stack.
 
template<class T >
void CleanupReleasePushL (T &aRef)
 Constructs and pushes a TCleanupItem object onto the cleanup stack.
 

Typedef Documentation

◆ TBufRep

typedef CBufBase *(* TBufRep) (TInt anExpandSize)

Definition at line 334 of file e32base.h.

◆ TCleanupOperation

typedef void(* TCleanupOperation) (TAny *)

Defines a function which takes a single argument of type TAny* and returns void.

An argument of this type is required by the constructors of a TCleanupItem object.

API status
Published to all clients. Released API.

Definition at line 1367 of file e32base.h.

Function Documentation

◆ CleanupArrayDeletePushL()

template<class T >
void CleanupArrayDeletePushL ( T *  aPtr)
inline

Constructs and pushes a TCleanupItem object onto the cleanup stack.

The TCleanupItem encapsulates:

  • the pointer aPtr to an array of type class T objects to be cleaned up
  • an associated cleanup operation.

The cleanup operation is the private static function ArrayDelete() of the templated class CleanupArrayDelete, and is called as a result of a subsequent call to CleanupStack::PopAndDestroy().

CleanupArrayDelete::ArrayDelete() is passed a pointer to the array of class T objects to be cleaned up, and the function implements cleanup by deleting the passed array using the delete [] operator.

An example of its use:

... RTestOne* one = new (ELeave) RTestOne[KSomeArraySize];
... // Do something with the object.........
PopAndDestroy(); // <--- results in the array "one" being deleted.
...
static IMPORT_C void PopAndDestroy()
Pops and cleans up an item pushed onto the stack.
void CleanupArrayDeletePushL(T *aPtr)
Constructs and pushes a TCleanupItem object onto the cleanup stack.
Parameters
aPtrA pointer to an array of class T type objects for which the cleanup item is being created.
See also
TCleanupItem
CleanupArrayDelete
CleanupStack::PopAndDestroy()
API status
Published to all clients. Released API.

◆ CleanupClosePushL()

template<class T >
void CleanupClosePushL ( T &  aRef)
inline

Constructs and pushes a TCleanupItem object onto the cleanup stack.

The TCleanupItem encapsulates:

  1. a reference aRef to the object of type class T which is to be cleaned up
  2. an associated cleanup operation.

The cleanup operation is the private static function Close() of the templated class CleanupClose and is invoked as a result of a subsequent call to CleanupStack::PopAndDestroy().

CleanupClose::Close() is passed a pointer to the class T object to be cleaned up, and the function implements cleanup by calling Close() on the passed object. The class T object must, therefore, define and implement (or inherit) a Close() member function.

An example of its use:

class RTestTwo;
{
public:
... IMPORT_C void Close();
...
}
... RTestTwo two;
PopAndDestroy(); // <--- results in Close() being called on "two".
......
void CleanupClosePushL(T &aRef)
Constructs and pushes a TCleanupItem object onto the cleanup stack.

In practice, this type of cleanup operation is commonly applied to handles to resources; if such handles are constructed on the program stack, then it is important that such handles are closed.

Parameters
aRefA reference to a class T type object for which the cleanup item is being created.
See also
TCleanupItem
CleanupClose
CleanupStack::PopAndDestroy()
API status
Published to all clients. Released API.

◆ CleanupDeletePushL()

template<class T >
void CleanupDeletePushL ( T *  aPtr)
inline

Constructs and pushes a TCleanupItem object onto the cleanup stack.

The TCleanupItem encapsulates:

  • the pointer aPtr to the object of type class T which is to be cleaned up
  • an associated cleanup operation.

The cleanup operation is the private static function Delete() of the templated class CleanupDelete, and is called as a result of a subsequent call to CleanupStack::PopAndDestroy().

CleanupDelete::Delete() is passed a pointer to the class T object to be cleaned up, and the function implements cleanup by deleting the passed object.

An example of its use:

... CTestOne* one = new (ELeave) CTestOne;
... CleanupStack::PopAndDestroy(); // <--- results in "one" being deleted.
...
void CleanupDeletePushL(T *aPtr)
Constructs and pushes a TCleanupItem object onto the cleanup stack.
Parameters
aPtrA pointer to a templated class T type object for which the cleanup item is being created.
See also
TCleanupItem
CleanupDelete
CleanupStack::PopAndDestroy()
API status
Published to all clients. Released API.

◆ CleanupReleasePushL()

template<class T >
void CleanupReleasePushL ( T &  aRef)
inline

Constructs and pushes a TCleanupItem object onto the cleanup stack.

The TCleanupItem encapsulates:

  1. a reference aRef to the object of type class T which is to be cleaned up
  2. an associated cleanup operation.

The cleanup operation is the private static function Release() of the templated class CleanupRelease and is invoked as a result of a subsequent call to CleanupStack::PopAndDestroy().

CleanupRelease::Release() is passed a pointer to the class T object to be cleaned up, and the function implements cleanup by calling Release() on the passed object. The class T object must, therefore, define and implement (or inherit) a Release() member function.

An example of its use:

class RTestThree;
{
public:
... IMPORT_C void Release();
...
}
... RTestThree three;
PopAndDestroy(); // <--- results in Release() being called on "three".
......
void CleanupReleasePushL(T &aRef)
Constructs and pushes a TCleanupItem object onto the cleanup stack.
Parameters
aRefA reference to a class T type object for which the cleanup item is being created.
See also
TCleanupItem
CleanupRelease
CleanupStack::PopAndDestroy()
API status
Published to all clients. Released API.

◆ IsLocalHandle()

TBool IsLocalHandle ( TInt  aHandle)
inline

Definition at line 1229 of file e32base.h.

◆ NONSHARABLE_CLASS()

NONSHARABLE_CLASS ( TCleanupTrapHandler  )

Implementation for a handler to work with the TRAP mechanism.

This class does not normally need to be used or accessed directly by applications and third party code.

API status
Published to all clients. Released API.

Definition at line 1453 of file e32base.h.

◆ SetLocalHandle()

void SetLocalHandle ( TInt &  aHandle)
inline

Definition at line 1231 of file e32base.h.

◆ UnSetLocalHandle()

void UnSetLocalHandle ( TInt &  aHandle)
inline

Definition at line 1233 of file e32base.h.