#include <kfbxusernotification.h>
Inherited by KFbxUserNotificationFILE.
Inheritance diagram for KFbxUserNotification:
If this class is not derived, the data can only be sent to a log file. To send data to a log file, it must be opened before attempting to send data, otherwise, the messages will be lost.
Definition at line 133 of file kfbxusernotification.h.
Accumulator Output | |
enum | OutputSource |
bool | Output (OutputSource pOutSrc=eACCUMULATOR_ENTRY, int pIndex=-1, bool pExtraDevicesOnly=false) |
Send the accumulator entries to the output devices. | |
bool | OutputById (AEid pId, OutputSource pOutSrc=eACCUMULATOR_ENTRY, bool pExtraDevicesOnly=false) |
Send the accumulator entry to the output devices. | |
bool | Output (const KString &pName, const KString &pDescr, AccumulatorEntry::AEClass pClass, bool pExtraDevicesOnly=false) |
Send an immediate entry to the output devices. | |
bool | Output (KFbxUserNotificationFilteredIterator &pAEFIter, bool pExtraDevicesOnly=false) |
Sends the content of the iterator to the output devices. | |
Public Types | |
enum | AEid |
Public Member Functions | |
Accumulator Management | |
int | AddEntry (const int pID, const KString &pName, const KString &pDescr, AccumulatorEntry::AEClass pClass=AccumulatorEntry::eAE_WARNING) |
Adds one entry into the accumulator. | |
int | AddDetail (int pEntryId) |
Completes the accumulator entry (there can be more that one detail for each entry) and implicitly defines the sequence of events. | |
int | AddDetail (int pEntryId, KString pString) |
Adds one entry into the accumulator. | |
int | AddDetail (int pEntryId, KFbxNode *pNode) |
Adds one entry into the accumulator. | |
int | GetNbEntries () const |
Returns the number of AccumulatorEntries currently stored in this accumulator. | |
const AccumulatorEntry * | GetEntry (int pEntryId) const |
Get the specified AccumulatorEntry. | |
const AccumulatorEntry * | GetEntryAt (int pEntryIndex) const |
Get the AccumulatorEntry at the specified index. | |
int | GetNbDetails () const |
Returns the number of Details recorded so far in this accumulator. | |
int | GetDetail (int pDetailId, const AccumulatorEntry *&pAE) const |
Get the specified detail. | |
Utilities | |
virtual void | GetLogFilePath (KString &pPath) |
Returns the absolute path to the log file. | |
KString | GetLogFileName () |
Returns the log file name. | |
Protected Member Functions | |
KFbxUserNotification (KString pLogFileName, KString pSessionDescription) | |
Instanciate a KFbxUserNotification but leave it uninitialized. | |
void | InitAccumulator () |
This method must be called before using the Accumulator. | |
void | ClearAccumulator () |
This method must be called when the Accumulator is no longer needed. | |
virtual bool | PostTerminate () |
Allow a derived class to finalize processing AFTER the log file handle has been deleted. | |
virtual void | AccumulatorInit () |
Allow the implementation class to perform accumulator initializations before the Extra devices are opened. | |
virtual void | AccumulatorClear () |
Allow the implementation class to perform accumulator clear after the Extra devices are closed. | |
virtual void | OpenExtraDevices () |
Allow the implementation class to opens its output devices (called by InitAccumulator). | |
virtual bool | SendToExtraDevices (bool pOutputNow, KArrayTemplate< AccumulatorEntry * > &pEntries) |
Allow the implementation class to send all the accumulator entries to the devices. | |
virtual bool | SendToExtraDevices (bool pOutputNow, const AccumulatorEntry *pAccEntry, int pDetailId=-1) |
Allow the implementation class to send one accumulator entry to the devices. | |
virtual void | CloseExtraDevices () |
Allow the implementation class to close it's output devices (called in the ClearAccumulator) By default this method does nothing. | |
void | ResetAccumulator () |
Clears the Accumulator list. | |
void | ResetSequence () |
Clears the Sequence list. | |
void | SendToLog (OutputSource pOutSrc, int pId) |
Send the pIdth element of the accumulator or sequence list to the log file. | |
Classes | |
class | AESequence |
KFbxUserNotification | ( | KString | pLogFileName, | |
KString | pSessionDescription | |||
) | [protected] |
Instanciate a KFbxUserNotification but leave it uninitialized.
The caller must explicitly call InitAccumulator to initialize it and ClearAccumulator when finished using it.
pLogFileName | Name of the log file that will be open in the directory defined by the GetLogFilePath method. |
pSessionDescription | This string is used to separate session logs in the file. |
void InitAccumulator | ( | ) | [protected] |
This method must be called before using the Accumulator.
It opens the log file and calls AccumulatorInit followed by OpenExtraDevices. Failing to call this method will prevent other actions except ClearAccumulator, GetLogFileName and GetLogFilePath.
void ClearAccumulator | ( | ) | [protected] |
This method must be called when the Accumulator is no longer needed.
It calls CloseExtraDevices, followed by the AccumulatorClear, and then closes the log file.
int AddEntry | ( | const int | pID, | |
const KString & | pName, | |||
const KString & | pDescr, | |||
AccumulatorEntry::AEClass | pClass = AccumulatorEntry::eAE_WARNING | |||
) |
Adds one entry into the accumulator.
pEntryId | This entry unique ID. | |
pName | This entry name. | |
pDescr | The description of this entry. | |
pClass | The category of this entry. |
int AddDetail | ( | int | pEntryId | ) |
Completes the accumulator entry (there can be more that one detail for each entry) and implicitly defines the sequence of events.
Each call to this method is internally recorded, making it possible to output each notification in the order they have been defined. Also, when a detail is added to an entry, it is automatically unmuted so it can be sent to the devices (muted AccumulatorEntry objects are not processed).
pEntryId | The entry index (as returned by AddEntry). | |
pString | The detail string to add to the entry. |
int AddDetail | ( | int | pEntryId, | |
KString | pString | |||
) |
Adds one entry into the accumulator.
pEntryId | This entry unique ID. | |
pName | This entry name. | |
pDescr | The description of this entry. | |
pClass | The category of this entry. |
int AddDetail | ( | int | pEntryId, | |
KFbxNode * | pNode | |||
) |
Adds one entry into the accumulator.
pEntryId | This entry unique ID. | |
pName | This entry name. | |
pDescr | The description of this entry. | |
pClass | The category of this entry. |
int GetNbEntries | ( | ) | const |
Returns the number of AccumulatorEntries currently stored in this accumulator.
const AccumulatorEntry* GetEntry | ( | int | pEntryId | ) | const |
Get the specified AccumulatorEntry.
pEntryId | ID of the entry to retrieve. |
NULL
if either the id is invalid or the Accumulator is not properly initialized. const AccumulatorEntry* GetEntryAt | ( | int | pEntryIndex | ) | const |
Get the AccumulatorEntry at the specified index.
pEntryIndex | index of the entry to retrieve. |
NULL
if either the index is invalid or the Accumulator is not properly initialized.. int GetNbDetails | ( | ) | const |
Returns the number of Details recorded so far in this accumulator.
int GetDetail | ( | int | pDetailId, | |
const AccumulatorEntry *& | pAE | |||
) | const |
Get the specified detail.
pDetailId | Index of the detail. This is the idth detail of type pClass as inserted when the AddDetail | |
pAE | Pointer to the AccumulatorEntry object that contains the requested detail. The returned valued can be NULL if an error occured. |
bool Output | ( | OutputSource | pOutSrc = eACCUMULATOR_ENTRY , |
|
int | pIndex = -1 , |
|||
bool | pExtraDevicesOnly = false | |||
) |
Send the accumulator entries to the output devices.
This method needs to be explicitly called by the program that uses this class.
pOutSrc | Specify which data has to be sent to the output devices. Set to SEQUENCED_DETAILS to send the Details in the recorded order. Set to ACCUMULATOR_ENTRY to send each entry with its details regardless of the order in which the events occurred. | |
pIndex | If this parameter >= 0, only send the specified entry/detail index to the output devices. Otherwise send all of them. | |
pExtraDevicesOnly | If this parameter is True, the output is not sent to the log file. |
bool OutputById | ( | AEid | pId, | |
OutputSource | pOutSrc = eACCUMULATOR_ENTRY , |
|||
bool | pExtraDevicesOnly = false | |||
) |
Send the accumulator entry to the output devices.
pId | Send the entry/detail that matching pIdx to the output devices, otherwise send all of them. | |
pOutSrc | Specify which data has to be sent to the output devices. Set to SEQUENCED_DETAILS to send the Details in the recorded order. Set to ACCUMULATOR_ENTRY to send each entry with its details regardless of the order in which the events occurred.. | |
pExtraDevicesOnly | If this parameter is True, the output is not sent to the log file. |
bool Output | ( | const KString & | pName, | |
const KString & | pDescr, | |||
AccumulatorEntry::AEClass | pClass, | |||
bool | pExtraDevicesOnly = false | |||
) |
Send an immediate entry to the output devices.
This metohod bypasses the accumulator by sending the entry directly to the output devices and discarding it right after. The internal accumulator lists are left unchanged by this call.
pName | This entry name. | |
pDescr | The description of this entry. | |
pClass | The category of this entry. | |
pExtraDevicesOnly | If this parameter is True, the output is not sent to the log file. |
bool Output | ( | KFbxUserNotificationFilteredIterator & | pAEFIter, | |
bool | pExtraDevicesOnly = false | |||
) |
Sends the content of the iterator to the output devices.
This metohod bypasses the accumulator by sending each entry in the iterator directly to the output devices. The internal accumulator lists are left unchanged by this call.
pAEFIter | The Filtered AccumulatorEntry iterator object. | |
pExtraDevicesOnly | If this parameter is True, the output is not sent to the log file. |
virtual void GetLogFilePath | ( | KString & | pPath | ) | [virtual] |
Returns the absolute path to the log file.
If this method is not overridden in a derived class, it returns the TEMP directory.
pPath | The returned path. |
KString GetLogFileName | ( | ) | [inline] |
virtual bool PostTerminate | ( | ) | [protected, virtual] |
Allow a derived class to finalize processing AFTER the log file handle has been deleted.
This may be required if the logfile needs to be moved or shown.
virtual void AccumulatorInit | ( | ) | [protected, virtual] |
Allow the implementation class to perform accumulator initializations before the Extra devices are opened.
By default this method does nothing.
virtual void AccumulatorClear | ( | ) | [protected, virtual] |
Allow the implementation class to perform accumulator clear after the Extra devices are closed.
By default this method does nothing.
virtual void OpenExtraDevices | ( | ) | [protected, virtual] |
Allow the implementation class to opens its output devices (called by InitAccumulator).
By default this method does nothing.
Reimplemented in KFbxUserNotificationFILE.
virtual bool SendToExtraDevices | ( | bool | pOutputNow, | |
KArrayTemplate< AccumulatorEntry * > & | pEntries | |||
) | [protected, virtual] |
Allow the implementation class to send all the accumulator entries to the devices.
By default this method loop trough all the elements of the received array and call the SendToExtraDevices method with the appropriate AccumulatorEntry element and id.
true
if successful, false
otherwise. Reimplemented in KFbxUserNotificationFILE.
virtual bool SendToExtraDevices | ( | bool | pOutputNow, | |
const AccumulatorEntry * | pAccEntry, | |||
int | pDetailId = -1 | |||
) | [protected, virtual] |
Allow the implementation class to send one accumulator entry to the devices.
By default this method does nothing.
true
if successful, false
otherwise. Reimplemented in KFbxUserNotificationFILE.
virtual void CloseExtraDevices | ( | ) | [protected, virtual] |
Allow the implementation class to close it's output devices (called in the ClearAccumulator) By default this method does nothing.
Reimplemented in KFbxUserNotificationFILE.
void ResetAccumulator | ( | ) | [protected] |
Clears the Accumulator list.
void ResetSequence | ( | ) | [protected] |
Clears the Sequence list.
void SendToLog | ( | OutputSource | pOutSrc, | |
int | pId | |||
) | [protected] |
Send the pIdth element of the accumulator or sequence list to the log file.