#include<kfbxusernotification.h>
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 line132of filekfbxusernotification.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(constKString&pName, constKString&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 Member Functions | |
KFbxUserNotification(KFbxSdkManager*pManager,KStringconst&pLogFileName,KStringconst&pSessionDescription) | |
Instanciate aKFbxUserNotificationbut 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. | |
Accumulator Management | |
int | AddEntry(const int pID, constKString&pName, constKString&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,KStringpString) |
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,KFbxNode*pNode) |
Completes the accumulator entry (there can be more that one detail for each entry) and implicitly defines the sequence of events. | |
int | GetNbEntries() const |
Returns the number of AccumulatorEntries currently stored in this accumulator. | |
constAccumulatorEntry* | GetEntry(int pEntryId) const |
Get the specifiedAccumulatorEntry. | |
constAccumulatorEntry* | GetEntryAt(int pEntryIndex) const |
Get theAccumulatorEntryat the specified index. | |
int | GetNbDetails() const |
Returns the number of Details recorded so far in this accumulator. | |
int | GetDetail(int pDetailId, constAccumulatorEntry*&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 | |
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, KArrayTemplate<AESequence *>&pAESequence) |
Allow the implementation class to send all the accumulator entries to the devices. | |
virtual bool | SendToExtraDevices(bool pOutputNow, constAccumulatorEntry*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. | |
void | SendToLog(constAccumulatorEntry*pAccEntry, int pDetailId=-1) |
Send the accumulator entry to the log file. |
KFbxUserNotification | ( | KFbxSdkManager* | pManager, | |
KStringconst& | pLogFileName, | |||
KStringconst& | pSessionDescription | |||
) |
Instanciate aKFbxUserNotificationbut leave it uninitialized.
The caller must explicitly call InitAccumulator to initialize it and ClearAccumulator when finished using it.
pManager | ||
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 | ( | ) |
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 | ( | ) |
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, | |
constKString& | pName, | |||
constKString& | pDescr, | |||
AccumulatorEntry::AEClass | pClass=AccumulatorEntry::eAE_WARNING | |||
) |
Adds one entry into the accumulator.
pID | 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 (mutedAccumulatorEntryobjects are not processed).
pEntryId | The entry index (as returned by AddEntry). |
int AddDetail | ( | int | pEntryId, | |
KString | pString | |||
) |
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 (mutedAccumulatorEntryobjects are not processed).
pEntryId | The entry index (as returned by AddEntry). | |
pString | The detail string to add to the entry. |
int AddDetail | ( | int | pEntryId, | |
KFbxNode* | pNode | |||
) |
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 (mutedAccumulatorEntryobjects are not processed).
pEntryId | The entry index (as returned by AddEntry). | |
pNode | The node to add to the entry. |
int GetNbEntries | ( | ) | const |
Returns the number of AccumulatorEntries currently stored in this accumulator.
constAccumulatorEntry* GetEntry | ( | int | pEntryId | ) | const |
Get the specifiedAccumulatorEntry.
pEntryId | ID of the entry to retrieve. |
NULL
if either the id is invalid or the Accumulator is not properly initialized.constAccumulatorEntry* GetEntryAt | ( | int | pEntryIndex | ) | const |
Get theAccumulatorEntryat 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, | |
constAccumulatorEntry*& | 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 theAccumulatorEntryobject 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 | ( | constKString& | pName, | |
constKString& | 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 FilteredAccumulatorEntryiterator 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. |
KStringGetLogFileName | ( | ) | [inline] |
Returns the log file name.
Definition at line327of filekfbxusernotification.h.
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.
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 appropriateAccumulatorEntryelement and id.
pOutputNow | Flag indicates whether to output now. | |
pEntries | Accumulator entries to output. |
true
if successful,false
otherwise.virtual bool SendToExtraDevices | ( | bool | pOutputNow, | |
KArrayTemplate<AESequence *>& | pAESequence | |||
) | [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 appropriateAccumulatorEntryelement and id.
pOutputNow | Flag indicates whether to output now. | |
pAESequence | Accumulator entries to output. |
true
if successful,false
otherwise.virtual bool SendToExtraDevices | ( | bool | pOutputNow, | |
constAccumulatorEntry* | pAccEntry, | |||
int | pDetailId=-1 | |||
) | [protected, virtual] |
Allow the implementation class to send one accumulator entry to the devices.
By default this method does nothing.
pOutputNow | Flag indicates whether to output now. | |
pAccEntry | Accumulator entry to output. | |
pDetailId | Detail id. |
true
if successful,false
otherwise.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.
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.
pOutSrc | The output source, accumulator or sequence list. | |
pId | Element id. |
void SendToLog | ( | constAccumulatorEntry* | pAccEntry, | |
int | pDetailId=-1 | |||
) | [protected] |
Send the accumulator entry to the log file.
pAccEntry | The accumulator entry. | |
pDetailId | Detail id. |