ihxtlogsystem.h
来自「symbian 下的helix player源代码」· C头文件 代码 · 共 813 行 · 第 1/3 页
H
813 行
*
* {EA6ABCD9-66EB-11d4-931A-00D0B749DE42}
*
*/
DEFINE_GUID(IID_IHXTLogWriter,
0xea6abcd9, 0x66eb, 0x11d4, 0x93, 0x1a, 0x0, 0xd0, 0xb7, 0x49, 0xde, 0x42);
#undef INTERFACE
#define INTERFACE IHXTLogWriter
DECLARE_INTERFACE_(IHXTLogWriter, IUnknown)
{
/*
* IUnknown methods
*/
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
STDMETHOD_(ULONG32,Release) (THIS) PURE;
/************************************************************************
* Method:
* IHXTLogWriter::LogMessage
* Purpose:
* Logs a message in the log system with the specified parameters
* to be delivered to all observers.
*
* Parameters:
* szNamespace - [in] Text identifier to qualify the functional area
* and numeric message parameter.
* nLogCode - [in] Enumerated value from rtalogconstants.h which
* indicates the importance of the log message
* nFuncArea - [in] Enumerated value from rtalogconstnats.h which
* indicates the general area of the system where the message
* originated.
* nMsg - [in] Identifies the log message to be used from the translation
* xml files loaded by the log system upon startup. To use the
* szMsg variable for the message instead, specify 0xFFFFFFFF for
* this value.
* szMsg - [in] Contains the text that will be used for the log message if
* the nMsg parameter is 0xFFFFFFFF.
* Returns:
* HXR_OK - if success
* HXR_FAIL - Log system is not properly initialized.
*/
STDMETHOD(LogMessage) (THIS_
const char* /*IN*/ szNamespace,
EHXTLogCode /*IN*/ nLogCode,
EHXTLogFuncArea /*IN*/ nFuncArea,
UINT32 /*IN*/ nMsg,
const char* /*IN*/ szMsg
) PURE;
/************************************************************************
* Method:
* IHXTLogWriter::GetTranslatedMessage
* Purpose:
* Retrieves the translated string for the message number provided
* from the log system.
*
* Parameters:
* nMessageNumber - [in] Message number to be translated.
* szNamespace - [in] Namespace of the message to be translated.
* szLanguage - [in] Currently unused.
* szMessage - [out] Translated message string.
* Returns:
* HXR_OK - if success
*/
STDMETHOD(GetTranslatedMessage) (THIS_
UINT32 /*IN*/ nMessageNumber,
const char* /*IN*/ szNamespace,
const char* /*IN*/ szLanguage,
const char** /*OUT*/ szMessage
) PURE;
};
HXT_MAKE_SMART_PTR(IHXTLogWriter)
// {E7ADC1B7-7B6E-4e54-9878-AA810ECC6DE6}
DEFINE_GUID(IID_IHXTInternalLogWriter,
0xe7adc1b7, 0x7b6e, 0x4e54, 0x98, 0x78, 0xaa, 0x81, 0xe, 0xcc, 0x6d, 0xe6);
#undef INTERFACE
#define INTERFACE IHXTInternalLogWriter
DECLARE_INTERFACE_(IHXTInternalLogWriter, IUnknown)
{
/*
* IUnknown methods
*/
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
STDMETHOD_(ULONG32,Release) (THIS) PURE;
/************************************************************************
* Method:
* IHXTLogWriter::LogMessage
* Purpose:
* Logs a message in the log system with the specified parameters
* to be delivered to all observers.
*
* Parameters:
* szNamespace - [in] Text identifier to qualify the functional area
* and numeric message parameter.
* nLogCode - [in] Enumerated value from rtalogconstants.h which
* indicates the importance of the log message
* nFuncArea - [in] Enumerated value from rtalogconstnats.h which
* indicates the general area of the system where the message
* originated.
* nMsg - [in] Identifies the log message to be used from the translation
* xml files loaded by the log system upon startup. To use the
* szMsg variable for the message instead, specify 0xFFFFFFFF for
* this value.
* szMsg - [in] Contains the text that will be used for the log message if
* the nMsg parameter is 0xFFFFFFFF.
* args - [in] The list of variable arguments that will be substituted into
* the log message by the log system using sprintf
* Returns:
* HXR_OK - if success
* HXR_FAIL - Log system is not properly initialized.
*/
STDMETHOD(LogMessage) (THIS_
const char* /*IN*/ szNamespace,
EHXTLogCode /*IN*/ nLogCode,
EHXTLogFuncArea /*IN*/ nFuncArea,
UINT32 /*IN*/ nMsg,
const char* /*IN*/ szMsg,
va_list /*IN*/ args) PURE;
};
HXT_MAKE_SMART_PTR(IHXTInternalLogWriter)
/****************************************************************************
*
* Interface:
*
* IHXTLogSystem
*
* Purpose:
* Provides access to the areas of the log system
*
* IID_IHXTLogSystem:
*
* // {E50F7E51-4640-11d5-935B-00D0B749DE42}
*
*/
DEFINE_GUID(IID_IHXTLogSystem,
0xe50f7e51, 0x4640, 0x11d5, 0x93, 0x5b, 0x0, 0xd0, 0xb7, 0x49, 0xde, 0x42);
#undef INTERFACE
#define INTERFACE IHXTLogSystem
DECLARE_INTERFACE_(IHXTLogSystem, IUnknown)
{
/*
* IUnknown methods
*/
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
STDMETHOD_(ULONG32,Release) (THIS) PURE;
/************************************************************************
* Method:
* IHXTLogSystem::Shutdown
* Purpose:
* Properly shuts down the log system.
* Parameters:
* None.
* Returns:
* HXR_OK - If success.
* HXR_FAIL - Log system could not shutdown properly.
* Notes:
* Under Windows, this method should not be called from within DllMain().
*/
STDMETHOD(Shutdown) (THIS) PURE;
/************************************************************************
* Method:
* IHXTLogSystem::SetTranslationFileDirectory
* Purpose:
* Sets the translation file directory for the log system.
* Parameters:
* szTranslationFileDir - [in] Location of all log system translation files. These
* files will be used to translate message numbers into text strings.
* Returns:
* HXR_OK - If success.
* HXR_FAIL - Translation file directory already set.
*/
STDMETHOD(SetTranslationFileDirectory) (THIS_ const char* szTranslationFileDir) PURE;
/************************************************************************
* Method:
* IHXTLogSystem::GetWriterInterface
* Purpose:
* Retrieves an interface to the log writer, used to send messages
* into the log system.
* Parameters:
* ppIWriter - [out] Address of output variable that receives
* the log writer interface pointer.
* Returns:
* HXR_OK - If success.
* HXR_FAIL - Log system not properly initialized.
*/
STDMETHOD(GetWriterInterface) (THIS_
IHXTLogWriter** /*OUT*/ ppIWriter) PURE;
/************************************************************************
* Method:
* IHXTLogSystem::GetObserverManagerInterface
* Purpose:
* Retrieves an interface to the observer manager, used to subscribe,
* manage, and unsubscribe listening observer which receive log messages.
* Parameters:
* ppILogObserverManager - [out] Address of output variable that receives
* the observer manager interface pointer.
* Returns:
* HXR_OK - If success.
* HXR_FAIL - Log system not properly initialized.
*/
STDMETHOD(GetObserverManagerInterface)(THIS_
IHXTLogObserverManager** /*OUT*/ ppILogObserverManager) PURE;
/************************************************************************
* Method:
* IHXTLogSystem::GetFunctionalAreaEnumerator
* Purpose:
* Retrieves an interface to an enumerator which will enumerate through
* all functional areas in all namespaces in the specified language
* loaded on log system initialization.
* Parameters:
* pIEnum - [out] Address of output variable that receives
* the enumerator interface pointer.
* szLanguage - [in] The language of the functional areas to be enumerated.
* Returns:
* HXR_OK - If success.
* HXR_FAIL - Log system not properly initialized.
*/
STDMETHOD(GetFunctionalAreaEnumerator) (
IHXTFuncAreaEnum** /*OUT*/ pIEnum,
const char* /*IN*/ szLanguage) PURE;
};
/****************************************************************************
* Function:
* RMAGetLogSystemInterface
* Purpose:
* Obtains an interface pointer to the log system. If the log system has not
* yet been created, it is created and initialized.
*/
typedef HX_RESULT (STDAPICALLTYPE *FPRMAGETLOGSYSTEMINTERFACE)(IHXTLogSystem** ppLogSystem);
HXT_MAKE_SMART_PTR(IHXTLogSystem)
#endif /* #ifndef IHXTLOGSYSTEM_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?