ihxtlogsystem.h

来自「symbian 下的helix player源代码」· C头文件 代码 · 共 813 行 · 第 1/3 页

H
813
字号
     *  Purpose:
     *      Called by LogObserverManager to inform the observer to flush any internal buffers.
     *  Returns:
     *      HXR_OK - If success.
     *      HXR_FAIL - failure.
     */
    STDMETHOD(Flush)() PURE;
};

HXT_MAKE_SMART_PTR(IHXTLogObserver2)



/****************************************************************************
 *
 *  Interface:
 *
 *  IHXTFuncAreaEnum
 *
 *  Purpose:
 *
 *  This is an enumeration interface which will enurmerate through all functional
 *  areas pre-loaded by the log system.  
 *
 *      IID_IHXTFuncAreaEnum:
 *
 *  // {938F4A21-1327-11d5-9349-00D0B749DE42}
 *
 */

DEFINE_GUID(IID_IHXTFuncAreaEnum, 
0x938f4a21, 0x1327, 0x11d5, 0x93, 0x49, 0x0, 0xd0, 0xb7, 0x49, 0xde, 0x42);

#undef INTERFACE
#define INTERFACE IHXTFuncAreaEnum

DECLARE_INTERFACE_(IHXTFuncAreaEnum, IUnknown)
{
        /*
         *      IUnknown methods
         */
        STDMETHOD(QueryInterface)               (THIS_
                                REFIID riid,
                                void** ppvObj) PURE;

        STDMETHOD_(ULONG32,AddRef)              (THIS) PURE;

        STDMETHOD_(ULONG32,Release)             (THIS) PURE;

        /************************************************************************
         *      Method:
         *          IHXTFuncAreaEnum::GetFirst
         *      Purpose:
         *          Returns details about the first pre-loaded functional area and resets
         *                      the enumerator to that position.
         *      Parameters:
         *          ppszNamespace - [out] Pointer to the pointer which will point to the text
         *          of the namespace for this functional area.
         *          pnNum - [out] Pointer to the integer which will be set to the numeric value
         *          for this functional area.
         *          ppszName - [out] Pointer to the pointer which will be set to the localized
         *                                      translation of the text representing the functional area.
         *      Returns:
         *          HXR_OK - If success.
         *          HXR_FAIL - No functional areas preloaded by the log system.
         */
        STDMETHOD (GetFirst) (THIS_
                const char**                    /*OUT*/                 ppszNamespace, 
                UINT32*                                         /*OUT*/                 pnNum, 
                const char**                    /*OUT*/                 ppszName) PURE;

        /************************************************************************
         *      Method:
         *          IHXTLogObserverManager::OnEndService
         *      Purpose:
         *          Returns details about the next pre-loaded functional area.
         *      Parameters:
         *          ppszNamespace - [out] Pointer to the pointer which will point to the text
         *          of the namespace for this functional area.
         *          pnNum - [out] Pointer to the integer which will be set to the numeric value
         *          for this functional area.
         *          ppszName - [out] Pointer to the pointer which will be set to the localized
         *                                      translation of the text representing the functional area.
         *      Returns:
         *          HXR_OK - If success.
         *          HXR_FAIL - No more functional areas.
         */
        STDMETHOD (GetNext) (THIS_
                const char**                    /*OUT*/                 ppszNamespace, 
                UINT32*                                         /*OUT*/                 pnNum, 
                const char**                    /*OUT*/                 ppszName) PURE;
};

HXT_MAKE_SMART_PTR(IHXTFuncAreaEnum)


/****************************************************************************
 *
 *  Interface:
 *
 *  IHXTLogObserverManager
 *
 *  Purpose:
 *
 *  This interface manages the subscription of observer objects to the log
 *  system.
 *
 *      IID_IHXTLogObserverManager:
 *
 *  // {EA6ABCDC-66EB-11d4-931A-00D0B749DE42}
 *
 */

DEFINE_GUID(IID_IHXTLogObserverManager, 
0xea6abcdc, 0x66eb, 0x11d4, 0x93, 0x1a, 0x0, 0xd0, 0xb7, 0x49, 0xde, 0x42);

#undef INTERFACE
#define INTERFACE IHXTLogObserverManager

DECLARE_INTERFACE_(IHXTLogObserverManager, IUnknown)
{
        /*
         *      IUnknown methods
         */
        STDMETHOD(QueryInterface)               (THIS_
                                REFIID riid,
                                void** ppvObj) PURE;

        STDMETHOD_(ULONG32,AddRef)              (THIS) PURE;

        STDMETHOD_(ULONG32,Release)             (THIS) PURE;

        /************************************************************************
         *      Method:
         *          IHXTLogObserverManager::Subscribe
         *      Purpose:
         *          Adds an observer to the log system which will receive log messages, and
         *                      initializes it with the parameter values.
         *      Parameters:
         *          pUnknown - [in] IUnknown pointer to the observer object which must 
         *                                      support a QueryInterface for the IHXTLogObserver interface.
         *          szFilterStr - [in] XML string specifying an initial filter for this
         *                                      observer.
         *          szLocale - [in] Language in which the observer wishes to receive log 
         *                                      messages.  **Currently ignored**
         *          bCatchup - [in] Indicates whether the observer wishes to receive all
         *                                      log messages (up to 1000) previously delivered by the log system
         *                                      prior to this observers subscription.
         *      Returns:
         *          HXR_OK - If success.
         *          HXR_FAIL - IUnknown parameter did not support the IHXTLogObserver interface.
         */
        STDMETHOD       (Subscribe) (THIS_ 
                        IUnknown*                       /*IN*/                  pUnknown, 
                        const char*             /*IN*/                  szFilterStr, 
                        const char*             /*IN*/                  szLocale, 
                        BOOL                                    /*IN*/                  bCatchUp) PURE; 

        /************************************************************************
         *      Method:
         *          IHXTLogObserverManager::SetFilter
         *      Purpose:
         *          Applies the specified filter to all future log messages delivered to
         *                      the specified observer.
         *      Parameters:
         *          szFilterStr - [in] XML string specifying a filter for this
         *                                      observer.
         *          pObserver - [in] An IUnknown pointer to a previously subscribed observer
         *                                      which will have the filter applied to it.
         *      Returns:
         *          HXR_OK - Since the filter is applied asynchronously, the function will
         *               Always succeed.
         */
        STDMETHOD (SetFilter) (THIS_ 
                        const char*             /*IN*/                  szFilterStr, 
                        IUnknown*                       /*IN*/                  pObserver) PURE; 

        /************************************************************************
         *      Method:
         *          IHXTLogObserverManager::Unsubscribe
         *      Purpose:
         *          Removes an observer from the log system.
         *      Parameters:
         *          pUnknown - [in] IUnknown pointer to the observer object to be 
         *                                      removed.
         *          bReceiveUnsentMessages - [in] Indicates whether the observer wishes 
         *                                      have delivered all messages which have been received by the log 
         *                                      system but not yet delivered to this observer.
         *      Returns:
         *          HXR_OK - If success.
         *          HXR_FAIL - The specified observer was not subscribed to the log system.
         */
        STDMETHOD (Unsubscribe) (THIS_ 
                IUnknown*                       /*IN*/                  pObserver, 
                BOOL                                    /*IN*/                  bReceiveUnsentMessages) PURE; 

        /************************************************************************
         *      Method:
         *          IHXTLogObserverManager::SetLanguage
         *      Purpose:
         *          Sets the language which will be used for translatable messages when
         *                      messages are delivered to the specified observer.
         *      Parameters:
         *          szLanguage - [in] Language in which the observer wishes to receive log 
         *                                      messages.  **Currently ignored**
         *          pObserver - [in] IUnknown pointer to the observer which will have its
         *                                      language value set.
         *      Returns:
         *          HXR_OK - If success.
         *          HXR_FAIL - Observer was not subscribed to the log system.
         */
        STDMETHOD (SetLanguage) (THIS_ 
                const char*                     /*IN*/                  szLanguage, 
                IUnknown*                               /*IN*/                  pObserver) PURE;
};

//$ Private.
HXT_MAKE_SMART_PTR(IHXTLogObserverManager)
//$ EndPrivate.


/****************************************************************************
 *
 *  Interface:
 *
 *  IHXTLogObserverManager2
 *
 *  Purpose:
 *
 *  This interface add FlushAllObservers method to IHXTLogObserverManager's methods.
 *
 *      IID_IHXTLogObserverManager2:
 *
 *  // {0E38953F-25AD-4efb-9AD4-2CBBC9D62AB0}
 *
 */

// {0E38953F-25AD-4efb-9AD4-2CBBC9D62AB0}
DEFINE_GUID(IID_IHXTLogObserverManager2, 
0xe38953f, 0x25ad, 0x4efb, 0x9a, 0xd4, 0x2c, 0xbb, 0xc9, 0xd6, 0x2a, 0xb0);

#undef INTERFACE
#define INTERFACE IHXTLogObserverManager2

DECLARE_INTERFACE_(IHXTLogObserverManager2, IHXTLogObserverManager)
{
        /************************************************************************
         *      Method:
         *          IHXTLogObserverManager2::FlushObservers
         *      Purpose:
         *          Flushes the log messages from log queue and calls Flush on all observers.
         *      Returns:
         *          HXR_OK - If success.
         *          HXR_FAIL - failure.
         */
        STDMETHOD(FlushObservers) (THIS) PURE;
};

HXT_MAKE_SMART_PTR(IHXTLogObserverManager2)

/****************************************************************************
 *
 *  Interface:
 *
 *  IHXTLogWriter
 *
 *  Purpose:
 *
 *  This interface is used to send log messages to the log system.
 *
 *      IID_IHXTLogWriter:

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?