X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8853b9a80e58b01a77700cb28c560ba3c1b033ce..ffcb4ee424061633cedc1c0ba6c04180d5048da9:/include/wx/msw/ole/automtn.h diff --git a/include/wx/msw/ole/automtn.h b/include/wx/msw/ole/automtn.h index 412b04dcf4..81ef363be2 100644 --- a/include/wx/msw/ole/automtn.h +++ b/include/wx/msw/ole/automtn.h @@ -9,7 +9,7 @@ // Licence: wxWindows Licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "automtn.h" #endif @@ -22,6 +22,10 @@ typedef void WXIDISPATCH; typedef unsigned short* WXBSTR; +#ifdef GetObject +#undef GetObject +#endif + /* * wxAutomationObject * Wraps up an IDispatch pointer and invocation; does variant conversion. @@ -51,6 +55,7 @@ public: // Invoke a member function wxVariant CallMethod(const wxString& method, int noArgs, wxVariant args[]); + wxVariant CallMethodArray(const wxString& method, int noArgs, const wxVariant **args); // Convenience function wxVariant CallMethod(const wxString& method, @@ -60,11 +65,13 @@ public: // Get/Put property wxVariant GetProperty(const wxString& property, int noArgs = 0, wxVariant args[] = (wxVariant*) NULL) const; + wxVariant GetPropertyArray(const wxString& property, int noArgs, const wxVariant **args) const; wxVariant GetProperty(const wxString& property, const wxVariant& arg1, const wxVariant& arg2 = wxNullVariant, const wxVariant& arg3 = wxNullVariant, const wxVariant& arg4 = wxNullVariant, const wxVariant& arg5 = wxNullVariant, const wxVariant& arg6 = wxNullVariant); + bool PutPropertyArray(const wxString& property, int noArgs, const wxVariant **args); bool PutProperty(const wxString& property, int noArgs, wxVariant args[]) ; bool PutProperty(const wxString& property, const wxVariant& arg1, const wxVariant& arg2 = wxNullVariant, @@ -76,41 +83,19 @@ public: // on the pointer, though this could be implicit by constructing an wxAutomationObject // with it and letting the destructor call Release. WXIDISPATCH* GetDispatchProperty(const wxString& property, int noArgs, wxVariant args[]) const; + WXIDISPATCH* GetDispatchProperty(const wxString& property, int noArgs, const wxVariant **args) const; // A way of initialising another wxAutomationObject with a dispatch object, // without having to deal with nasty IDispatch pointers. bool GetObject(wxAutomationObject& obj, const wxString& property, int noArgs = 0, wxVariant args[] = (wxVariant*) NULL) const; - - // Convert variants - static bool ConvertVariantToOle(const wxVariant& variant, VARIANTARG& oleVariant) ; - static bool ConvertOleToVariant(const VARIANTARG& oleVariant, wxVariant& variant) ; + bool GetObject(wxAutomationObject& obj, const wxString& property, int noArgs, const wxVariant **args) const; public: WXIDISPATCH* m_dispatchPtr; -}; -// wrapper around BSTR type (by Vadim Zeitlin) - -class WXDLLEXPORT BasicString -{ -public: - // ctors & dtor - BasicString(const char *sz); - ~BasicString(); - - // accessors - // just get the string - operator BSTR() const { return m_wzBuf; } - // retrieve a copy of our string - caller must SysFreeString() it later! - BSTR Get() const { return SysAllocString(m_wzBuf); } - -private: - // @@@ not implemented (but should be) - BasicString(const BasicString&); - BasicString& operator=(const BasicString&); - - OLECHAR *m_wzBuf; // actual string + DECLARE_NO_COPY_CLASS(wxAutomationObject) }; + #endif // _WX_AUTOMTN_H_