home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / mfc / ole / tstcon / methinfo.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-03-27  |  2.0 KB  |  78 lines

  1. class CMethodParamInfo
  2. {
  3. public:
  4.    CMethodParamInfo();
  5.    ~CMethodParamInfo();
  6.  
  7.    CString GetName() const;
  8.    VARTYPE GetType() const;
  9.    HRESULT Init( LPCOLESTR pszName, const ELEMDESC* pElemDesc );
  10.  
  11. public:
  12.    CString m_strName;
  13.    VARTYPE m_vt;
  14. };
  15.  
  16.  
  17. const int REQUESTEDIT_ALWAYS = 0;
  18. const int REQUESTEDIT_NEVER = 1;
  19. const int REQUESTEDIT_PROMPT = 2;
  20.  
  21. class CMethodInfo
  22. {
  23. public:
  24.    CMethodInfo();
  25.    ~CMethodInfo();
  26.  
  27.    friend CLog& operator<<( CLog& log, CMethodInfo* pMethodInfo );
  28.  
  29.    void EnableEditRequestLogging( BOOL tEnable );
  30.    void EnableLogging( BOOL tEnable );
  31.    DISPID GetID() const;
  32.    INVOKEKIND GetInvokeKind() const;
  33.    CString GetName() const;
  34.    int GetNumParams() const;
  35.    CMethodParamInfo* GetParam( int iParam ) const;
  36.    int GetRequestEditResponse() const;
  37.    HRESULT Init( ITypeInfo* pTypeInfo, const FUNCDESC* pFuncDesc );
  38.    HRESULT InitPropertyGet( ITypeInfo* pTypeInfo, const VARDESC* pVarDesc );
  39.    HRESULT InitPropertyPut( ITypeInfo* pTypeInfo, const VARDESC* pVarDesc );
  40.    BOOL IsBindable() const;
  41.    BOOL IsLogged() const;
  42.    BOOL LogEditRequests() const;
  43.    void LogEvent( CLog& log, DISPPARAMS* pdpParams );
  44.    BOOL RequestsEdit() const;
  45.    void SetRequestEditResponse( int eResponse );
  46.  
  47. public:
  48.    CString m_strName;
  49.    DISPID m_dispid;
  50.    INVOKEKIND m_invkind;
  51.    CTypedPtrArray< CPtrArray, CMethodParamInfo* > m_apParamInfo;
  52.    BOOL m_tLog;
  53.    BOOL m_tBindable;
  54.    BOOL m_tRequestEdit;
  55.    BOOL m_tLogEditRequests;
  56.    int m_eRequestEditResponse;
  57. };
  58.  
  59. CLog& operator<<( CLog& log, CMethodInfo* pMethodInfo );
  60.  
  61. class CInterfaceInfo
  62. {
  63. public:
  64.    CInterfaceInfo();
  65.    ~CInterfaceInfo();
  66.  
  67.    CMethodInfo* FindMethod( DISPID dispid ) const;
  68.    CMethodInfo* FindPropertyGet( DISPID dispid ) const;
  69.    IID GetIID() const;
  70.    CMethodInfo* GetMethod( int iMethod ) const;
  71.    int GetNumMethods() const;
  72.    HRESULT Init( ITypeInfo* pTypeInfo );
  73.  
  74. public:
  75.    CTypedPtrArray< CPtrArray, CMethodInfo* > m_apMethodInfo;
  76.    IID m_iid;
  77. };
  78.