Changeset 29753 in vbox
- Timestamp:
- May 24, 2010 2:35:53 AM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 61942
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/include/VirtualBoxErrorInfoImpl.h
r28800 r29753 1 1 /** @file 2 * 3 * VirtualBoxErrorInfo COM classe definition 2 * VirtualBoxErrorInfo COM class definition. 4 3 */ 5 4 6 5 /* 7 * Copyright (C) 2006-20 07Oracle Corporation6 * Copyright (C) 2006-2010 Oracle Corporation 8 7 * 9 8 * This file is part of VirtualBox Open Source Edition (OSE), as … … 24 23 25 24 class ATL_NO_VTABLE VirtualBoxErrorInfo 26 : public CComObjectRootEx <CComMultiThreadModel> 27 , public IVirtualBoxErrorInfo 25 : public CComObjectRootEx<CComMultiThreadModel> 26 , VBOX_SCRIPTABLE_IMPL(IVirtualBoxErrorInfo) 27 #ifndef VBOX_WITH_XPCOM /* IErrorInfo doesn't inherit from IDispatch, ugly 3am hack: */ 28 , public IDispatch 29 #endif 28 30 { 29 31 public: … … 36 38 COM_INTERFACE_ENTRY(IErrorInfo) 37 39 COM_INTERFACE_ENTRY(IVirtualBoxErrorInfo) 40 COM_INTERFACE_ENTRY(IDispatch) 38 41 END_COM_MAP() 39 42 40 #if defined (RT_OS_WINDOWS)43 #ifndef VBOX_WITH_XPCOM 41 44 42 HRESULT init 45 HRESULT init(IErrorInfo *aInfo); 43 46 44 STDMETHOD(GetGUID) 45 STDMETHOD(GetSource) 46 STDMETHOD(GetDescription) 47 STDMETHOD(GetHelpFile) 48 STDMETHOD(GetHelpContext) 47 STDMETHOD(GetGUID)(GUID *guid); 48 STDMETHOD(GetSource)(BSTR *source); 49 STDMETHOD(GetDescription)(BSTR *description); 50 STDMETHOD(GetHelpFile)(BSTR *pBstrHelpFile); 51 STDMETHOD(GetHelpContext)(DWORD *pdwHelpContext); 49 52 50 #else // !defined (RT_OS_WINDOWS) 53 // IDispatch forwarding - 3am hack. 54 typedef IDispatchImpl<IVirtualBoxErrorInfo, &IID_IVirtualBoxErrorInfo, &LIBID_VirtualBox, kTypeLibraryMajorVersion, kTypeLibraryMinorVersion> idi; 51 55 52 HRESULT init (nsIException *aInfo); 56 STDMETHOD(GetTypeInfoCount)(UINT *pcInfo) 57 { 58 return idi::GetTypeInfoCount(pcInfo); 59 } 60 61 STDMETHOD(GetTypeInfo)(UINT iInfo, LCID Lcid, ITypeInfo **ppTypeInfo) 62 { 63 return idi::GetTypeInfo(iInfo, Lcid, ppTypeInfo); 64 } 65 66 STDMETHOD(GetIDsOfNames)(REFIID rIID, LPOLESTR *papwszNames, UINT cNames, LCID Lcid, DISPID *paDispIDs) 67 { 68 return idi::GetIDsOfNames(rIID, papwszNames, cNames, Lcid, paDispIDs); 69 } 70 71 STDMETHOD(Invoke)(DISPID idDispMember, REFIID rIID, LCID Lcid, WORD fw, DISPPARAMS *pDispParams, 72 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *piErrArg) 73 { 74 return idi::Invoke(idDispMember, rIID, Lcid, fw, pDispParams, pVarResult, pExcepInfo, piErrArg); 75 } 76 77 #else // defined(VBOX_WITH_XPCOM) 78 79 HRESULT init(nsIException *aInfo); 53 80 54 81 NS_DECL_NSIEXCEPTION … … 56 83 #endif 57 84 58 VirtualBoxErrorInfo() : mResultCode 85 VirtualBoxErrorInfo() : mResultCode(S_OK) {} 59 86 60 87 // public initializer/uninitializer for internal purposes only 61 HRESULT init 62 63 88 HRESULT init(HRESULT aResultCode, const GUID &aIID, 89 CBSTR aComponent, CBSTR aText, 90 IVirtualBoxErrorInfo *aNext = NULL); 64 91 65 92 // IVirtualBoxErrorInfo properties 66 STDMETHOD(COMGETTER(ResultCode)) 67 STDMETHOD(COMGETTER(InterfaceID)) 68 STDMETHOD(COMGETTER(Component)) 69 STDMETHOD(COMGETTER(Text)) 70 STDMETHOD(COMGETTER(Next)) 93 STDMETHOD(COMGETTER(ResultCode))(LONG *aResultCode); 94 STDMETHOD(COMGETTER(InterfaceID))(BSTR *aIID); 95 STDMETHOD(COMGETTER(Component))(BSTR *aComponent); 96 STDMETHOD(COMGETTER(Text))(BSTR *aText); 97 STDMETHOD(COMGETTER(Next))(IVirtualBoxErrorInfo **aNext); 71 98 72 99 private: 73 100 // FIXME: declare these here until VBoxSupportsTranslation base 74 101 // is available in this class. 75 static const char *tr 102 static const char *tr(const char *a) { return a; } 76 103 static HRESULT setError(HRESULT rc, 77 104 const char * /* a */, … … 86 113 }; 87 114 88 #endif // ____H_VIRTUALBOXERRORINFOIMPL115 #endif // !____H_VIRTUALBOXERRORINFOIMPL 89 116 90 117 /* vi: set tabstop=4 shiftwidth=4 expandtab: */
Note:
See TracChangeset
for help on using the changeset viewer.