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 + -
显示快捷键?