Symbian Developer Library

SYMBIAN OS V6.1 EDITION FOR C++

[Index] [Glossary] [Previous] [Next]



Location: bacntf.h
Link against: bafl.lib

Class CEnvironmentChangeNotifier

CEnvironmentChangeNotifier

Support

Supported from 5.0

Description

Environment change notifier. This is an active object and can be used to handle environment change events.

Derivation

CActiveThe core class of the active object abstraction
CBaseBase class for all classes to be instantiated on the heap
CEnvironmentChangeNotifierEnvironment change notifier

Defined in CEnvironmentChangeNotifier:
Change(), NewL(), Set(), Start(), ~CEnvironmentChangeNotifier()

Inherited from CActive:
Cancel(), Deque(), DoCancel(), EPriorityHigh, EPriorityIdle, EPriorityLow, EPriorityStandard, EPriorityUserInput, IsActive(), IsAdded(), Priority(), RunError(), RunL(), SetActive(), SetPriority(), TPriority, iStatus

Inherited from CBase:
operator new()


Construction and destruction


NewL()

static CEnvironmentChangeNotifier* NewL(TInt aPriority,const TCallBack& aCallBack);

Description

Constructs a new environment change notifier object with the specified active object priority and callback function.

The function requires a priority value for this active object and a reference to a TCallBack object encapsulating a pointer to the call back function which is to run when change events occur.

As part of its implementation, the function:

Note that construction of the environment change notifier does not issue any requests for change events.

Parameters

TInt aPriority

The priority of this active object. Priority values determine the order in which an active scheduler handles completed active object requests.

const TCallBack& aCallBack

A reference to a callback object which the caller must construct to encapsulate the callback function.

Return value

CEnvironmentChangeNotifier*

A pointer to the new environment change notifier object.

See also:


~CEnvironmentChangeNotifier()

~CEnvironmentChangeNotifier();

Description

Destructor. Frees all resources owned by the object, prior to its destruction.

In particular, it cancels any outstanding request to the Kernel side change notifier before closing the handle to it.

[Top]


Managing change events


Start()

void Start();

Description

Issues a request for change events.

The request completes when change events occur, as signalled by the Kernel side change notifier service. The request may also complete if it is cancelled by calling the Cancel() member function of this active object.

When change events occur, the callback function is called.

Note that after the first call to this function, the callback function is called immediately; this is because of the way the underlying change notifier is implemented. The changes reported are all those defined by the TChanges enum.

See also:


Set()

TInt Set(const TCallBack& aCallBack);

Description

Sets the callback function.

A callback is normally set when this active object is constructed through the NewL() function. This function replaces any existing callback object with the specified callback object.

Parameters

const TCallBack& aCallBack

A reference to the call back object encapsulating the call back function.

Return value

TInt

KErrNone if successful, KErrInUse if this active object currently has an outstanding request for change events, or another of the system-wide error-codes.


Change()

TInt Change() const;

Description

Returns the last set of change events.

If the last outstanding request completed normally, the function returns a bit pattern where each bit value corresponds to one of the enumerators defined by TChanges. A set bit indicates that the corresponding change event occurred.

For example, if the bit value TChanges::EChangesMidnightCrossover is set, then the system time has passed midnight.

Return value

TInt

A set of bits consisting of one or more of the values defined by TChanges, or KErrCancel if the last outstanding request was cancelled.

See also: