-- Automatically generated by HaskellDirect (ihc.exe), snapshot 061203 -- Created: 00:54 E. Europe Standard Time, Monday 08 December, 2003 -- Command line: -iidl -fcom -s idl/VsProject.idl module VsProjectProxy ( mkIVsWindowFrame_vtbl , mkIVsProject_vtbl , mkIVsProject2_vtbl , mkIVsProject3_vtbl , mkIVsProjectFactory_vtbl , mkIVsHierarchy_vtbl , mkIVsUIHierarchy_vtbl , mkIVsHierarchyDeleteHandler_vtbl , mkIVsPersistHierarchyItem_vtbl , mkIVsCfg_vtbl , mkIVsProjectCfg_vtbl , mkIVsBuildableProjectCfg_vtbl , mkIVsGetCfgProvider_vtbl , mkIVsCfgProvider_vtbl , mkIVsDebuggableProjectCfg_vtbl ) where import Prelude (fromEnum, toEnum) import qualified Prelude import qualified Automation (VARIANT, marshallVARIANT, unmarshallVARIANT, writeVARIANT) import qualified Com (IUnknown, IID, mkIID, GUID, returnHR, unmarshallGUID, marshallGUID, unmarshallIID, marshallIUnknown, marshallBSTR, unmarshallIUnknown, readIUnknown, writeIUnknown) import qualified ComServ (ComVTable, createComVTable, getObjState) import qualified Foreign (poke) import qualified Foreign.Ptr (Ptr, castPtr, nullPtr) import qualified Foreign.ForeignPtr (castForeignPtr) import qualified Foreign.StablePtr (StablePtr, newStablePtr) import qualified HDirect (unmarshallEnum32, marshallEnum32, writeEnum32, writeInt32, writefptr, writePtr, writeWord32, unmarshallWord32, sizeofPtr, writelist, unmarshalllist, marshalllist, marshallunique, unmarshallunique, allocBytes, writeunique, marshallMaybe, readPointer, sizeofForeignPtr) import qualified Int (Int32) import qualified ServProv (IServiceProvider) import qualified VsTypes (FRAMECLOSE, VSSETFRAMEPOS, VSFPROPID, VSITEMID, VSDOCUMENTPRIORITY, VSADDITEMOPERATION, VSADDRESULT, VSSPECIFICEDITORFLAGS, VSHPROPID, VSCOOKIE) import qualified WideString (WideString(..), unmarshallWideString) import qualified Word (Word32) import qualified Wtypes (REFGUID, BOOL, LPCOLESTR, HWND, DWORD, HICON, UINT, ULONG) import qualified DocObjProxy (OLECMD, sizeofOLECMD, readOLECMD, writeOLECMD, OLECMDTEXT, sizeofOLECMDTEXT, readOLECMDTEXT, writeOLECMDTEXT) import VsProject import Prelude(($),(++),fmap) import Control.Monad(when) import ComPrim(primCopyGUID) readWideString :: Foreign.Ptr.Ptr WideString.WideString -> Prelude.IO WideString.WideString readWideString ptr = Prelude.fmap WideString.WideString (HDirect.readPointer (Foreign.Ptr.castPtr ptr)) -- -------------------------------------------------- -- -- interface IVsWindowFrame -- -- -------------------------------------------------- mkIVsWindowFrame_vtbl :: (objState -> Prelude.IO ()) -> (objState -> Prelude.IO ()) -> (objState -> Prelude.IO ()) -> (objState -> Prelude.IO ()) -> (VsTypes.FRAMECLOSE -> objState -> Prelude.IO ()) -> (VsTypes.VSSETFRAMEPOS -> Wtypes.REFGUID -> Int.Int32 -> Int.Int32 -> Int.Int32 -> Int.Int32 -> objState -> Prelude.IO ()) -> (objState -> Prelude.IO (VsTypes.VSSETFRAMEPOS, Com.GUID, Int.Int32, Int.Int32, Int.Int32, Int.Int32)) -> (VsTypes.VSFPROPID -> objState -> Prelude.IO Automation.VARIANT) -> (VsTypes.VSFPROPID -> Automation.VARIANT -> objState -> Prelude.IO ()) -> (VsTypes.VSFPROPID -> objState -> Prelude.IO Com.GUID) -> (VsTypes.VSFPROPID -> Wtypes.REFGUID -> objState -> Prelude.IO ()) -> (Com.IID (Com.IUnknown i0) -> objState -> Prelude.IO (Com.IUnknown i0)) -> (objState -> Prelude.IO Wtypes.BOOL) -> Prelude.IO (ComServ.ComVTable (IVsWindowFrame ()) objState) mkIVsWindowFrame_vtbl show hide isVisible showNoActivate closeFrame setFramePos getFramePos getProperty setProperty getGuidProperty setGuidProperty queryViewInterface isOnScreen = do meth_arg0 <- export_show (prim_show show) meth_arg1 <- export_show (prim_hide hide) meth_arg2 <- export_show (prim_isVisible isVisible) meth_arg3 <- export_show (prim_showNoActivate showNoActivate) meth_arg4 <- export_closeFrame (prim_closeFrame closeFrame) meth_arg5 <- export_setFramePos (prim_setFramePos setFramePos) meth_arg6 <- export_getFramePos (prim_getFramePos getFramePos) meth_arg7 <- export_getProperty (prim_getProperty getProperty) meth_arg8 <- export_getProperty (prim_setProperty setProperty) meth_arg9 <- export_getGuidProperty (prim_getGuidProperty getGuidProperty) meth_arg10 <- export_getGuidProperty (prim_setGuidProperty setGuidProperty) meth_arg11 <- export_queryViewInterface (prim_queryViewInterface queryViewInterface) meth_arg12 <- export_isOnScreen (prim_isOnScreen isOnScreen) ComServ.createComVTable [ meth_arg0 , meth_arg1 , meth_arg2 , meth_arg3 , meth_arg4 , meth_arg5 , meth_arg6 , meth_arg7 , meth_arg8 , meth_arg9 , meth_arg10 , meth_arg11 , meth_arg12 ] foreign import stdcall "wrapper" export_show :: (Foreign.Ptr.Ptr a -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_closeFrame :: (Foreign.Ptr.Ptr a -> Int.Int32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_setFramePos :: (Foreign.Ptr.Ptr a -> Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Int.Int32 -> Int.Int32 -> Int.Int32 -> Int.Int32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getFramePos :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr VsTypes.VSSETFRAMEPOS -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr Int.Int32 -> Foreign.Ptr.Ptr Int.Int32 -> Foreign.Ptr.Ptr Int.Int32 -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getProperty :: (Foreign.Ptr.Ptr a -> Int.Int32 -> Automation.VARIANT -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getGuidProperty :: (Foreign.Ptr.Ptr a -> Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_queryViewInterface :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (Com.IID (Com.IUnknown i0)) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (Com.IUnknown i0)) -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_isOnScreen :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) prim_show :: (objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Prelude.IO Int.Int32 prim_show show_meth iptr = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> show_meth obj) prim_hide :: (objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Prelude.IO Int.Int32 prim_hide hide_meth iptr = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> hide_meth obj) prim_isVisible :: (objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Prelude.IO Int.Int32 prim_isVisible isVisible_meth iptr = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> isVisible_meth obj) prim_showNoActivate :: (objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Prelude.IO Int.Int32 prim_showNoActivate showNoActivate_meth iptr = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> showNoActivate_meth obj) prim_closeFrame :: (VsTypes.FRAMECLOSE -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Int.Int32 -> Prelude.IO Int.Int32 prim_closeFrame closeFrame_meth iptr grfSaveOptions = Com.returnHR (HDirect.unmarshallEnum32 grfSaveOptions Prelude.>>= \ grfSaveOptions -> ComServ.getObjState iptr Prelude.>>= \ obj -> closeFrame_meth grfSaveOptions obj) prim_setFramePos :: (VsTypes.VSSETFRAMEPOS -> Wtypes.REFGUID -> Int.Int32 -> Int.Int32 -> Int.Int32 -> Int.Int32 -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Int.Int32 -> Int.Int32 -> Int.Int32 -> Int.Int32 -> Prelude.IO Int.Int32 prim_setFramePos setFramePos_meth iptr dwSFP rguidRelativeTo x y cx cy = Com.returnHR (HDirect.unmarshallEnum32 dwSFP Prelude.>>= \ dwSFP -> Com.unmarshallGUID Prelude.False rguidRelativeTo Prelude.>>= \ rguidRelativeTo -> ComServ.getObjState iptr Prelude.>>= \ obj -> setFramePos_meth dwSFP rguidRelativeTo x y cx cy obj) prim_getFramePos :: (objState -> Prelude.IO (VsTypes.VSSETFRAMEPOS, Com.GUID, Int.Int32, Int.Int32, Int.Int32, Int.Int32)) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr VsTypes.VSSETFRAMEPOS -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr Int.Int32 -> Foreign.Ptr.Ptr Int.Int32 -> Foreign.Ptr.Ptr Int.Int32 -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 prim_getFramePos getFramePos_meth iptr out_pdwSFP out_pguidRelativeTo out_px out_py out_pcx out_pcy = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> getFramePos_meth obj Prelude.>>= \ (res__pdwSFP, res__pguidRelativeTo, res__px, res__py, res__pcx, res__pcy) -> HDirect.marshallEnum32 res__pdwSFP Prelude.>>= \ res__pdwSFP -> Com.marshallGUID res__pguidRelativeTo Prelude.>>= \ res__pguidRelativeTo -> HDirect.writeEnum32 out_pdwSFP res__pdwSFP Prelude.>> ComPrim.primCopyGUID (Foreign.ForeignPtr.castForeignPtr res__pguidRelativeTo) (Foreign.Ptr.castPtr out_pguidRelativeTo) Prelude.>> HDirect.writeInt32 out_px res__px Prelude.>> HDirect.writeInt32 out_py res__py Prelude.>> HDirect.writeInt32 out_pcx res__pcx Prelude.>> HDirect.writeInt32 out_pcy res__pcy) prim_getProperty :: (VsTypes.VSFPROPID -> objState -> Prelude.IO Automation.VARIANT) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Int.Int32 -> Automation.VARIANT -> Prelude.IO Int.Int32 prim_getProperty getProperty_meth iptr propid out_pvar = Com.returnHR (HDirect.unmarshallEnum32 propid Prelude.>>= \ propid -> ComServ.getObjState iptr Prelude.>>= \ obj -> getProperty_meth propid obj Prelude.>>= \ res__pvar -> Automation.marshallVARIANT res__pvar Prelude.>>= \ res__pvar -> HDirect.writePtr (Foreign.Ptr.castPtr out_pvar) res__pvar) prim_setProperty :: (VsTypes.VSFPROPID -> Automation.VARIANT -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Int.Int32 -> Automation.VARIANT -> Prelude.IO Int.Int32 prim_setProperty setProperty_meth iptr propid var = Com.returnHR (HDirect.unmarshallEnum32 propid Prelude.>>= \ propid -> Automation.unmarshallVARIANT var Prelude.>>= \ var -> ComServ.getObjState iptr Prelude.>>= \ obj -> setProperty_meth propid var obj) prim_getGuidProperty :: (VsTypes.VSFPROPID -> objState -> Prelude.IO Com.GUID) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Prelude.IO Int.Int32 prim_getGuidProperty getGuidProperty_meth iptr propid out_pguid = Com.returnHR (HDirect.unmarshallEnum32 propid Prelude.>>= \ propid -> ComServ.getObjState iptr Prelude.>>= \ obj -> getGuidProperty_meth propid obj Prelude.>>= \ res__pguid -> Com.marshallGUID res__pguid Prelude.>>= \ res__pguid -> ComPrim.primCopyGUID (Foreign.ForeignPtr.castForeignPtr res__pguid) (Foreign.Ptr.castPtr out_pguid)) prim_setGuidProperty :: (VsTypes.VSFPROPID -> Wtypes.REFGUID -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Prelude.IO Int.Int32 prim_setGuidProperty setGuidProperty_meth iptr propid rguid = Com.returnHR (HDirect.unmarshallEnum32 propid Prelude.>>= \ propid -> Com.unmarshallGUID Prelude.False rguid Prelude.>>= \ rguid -> ComServ.getObjState iptr Prelude.>>= \ obj -> setGuidProperty_meth propid rguid obj) prim_queryViewInterface :: (Com.IID (Com.IUnknown i0) -> objState -> Prelude.IO (Com.IUnknown i0)) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (Com.IID (Com.IUnknown i0)) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (Com.IUnknown i0)) -> Prelude.IO Int.Int32 prim_queryViewInterface queryViewInterface_meth iptr riid out_ppv = Com.returnHR (Com.unmarshallIID Prelude.False riid Prelude.>>= \ riid -> ComServ.getObjState iptr Prelude.>>= \ obj -> queryViewInterface_meth riid obj Prelude.>>= \ res__ppv -> Com.marshallIUnknown res__ppv Prelude.>>= \ res__ppv -> Foreign.poke (Foreign.Ptr.castPtr out_ppv) res__ppv) prim_isOnScreen :: (objState -> Prelude.IO Wtypes.BOOL) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 prim_isOnScreen isOnScreen_meth iptr out_pfOnScreen = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> isOnScreen_meth obj Prelude.>>= \ res__pfOnScreen -> HDirect.writeInt32 out_pfOnScreen res__pfOnScreen) -- -------------------------------------------------- -- -- interface IVsProject -- -- -------------------------------------------------- mkIVsProject_vtbl :: (Wtypes.LPCOLESTR -> objState -> Prelude.IO (Wtypes.BOOL, VsTypes.VSDOCUMENTPRIORITY, VsTypes.VSITEMID)) -> (VsTypes.VSITEMID -> objState -> Prelude.IO Prelude.String) -> (VsTypes.VSITEMID -> Wtypes.REFGUID -> Com.IUnknown a0 -> objState -> Prelude.IO (IVsWindowFrame ())) -> (VsTypes.VSITEMID -> objState -> Prelude.IO (ServProv.IServiceProvider ())) -> (VsTypes.VSITEMID -> Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> objState -> Prelude.IO Prelude.String) -> (VsTypes.VSITEMID -> VsTypes.VSADDITEMOPERATION -> Wtypes.LPCOLESTR -> [Wtypes.LPCOLESTR] -> Wtypes.HWND -> objState -> Prelude.IO VsTypes.VSADDRESULT) -> Prelude.IO (ComServ.ComVTable (IVsProject ()) objState) mkIVsProject_vtbl isDocumentInProject getMkDocument openItem getItemContext generateUniqueItemName addItem = do meth_arg0 <- export_isDocumentInProject (prim_isDocumentInProject isDocumentInProject) meth_arg1 <- export_getMkDocument (prim_getMkDocument getMkDocument) meth_arg2 <- export_openItem (prim_openItem openItem) meth_arg3 <- export_getItemContext (prim_getItemContext getItemContext) meth_arg4 <- export_generateUniqueItemName (prim_generateUniqueItemName generateUniqueItemName) meth_arg5 <- export_addItem (prim_addItem addItem) ComServ.createComVTable [ meth_arg0 , meth_arg1 , meth_arg2 , meth_arg3 , meth_arg4 , meth_arg5 ] foreign import stdcall "wrapper" export_isDocumentInProject :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Int.Int32 -> Foreign.Ptr.Ptr VsTypes.VSDOCUMENTPRIORITY -> Foreign.Ptr.Ptr Wtypes.DWORD -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getMkDocument :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_openItem :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr (Com.IUnknown a0) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IVsWindowFrame a1)) -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getItemContext :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (ServProv.IServiceProvider a0)) -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_generateUniqueItemName :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_addItem :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Int.Int32 -> Foreign.Ptr.Ptr WideString.WideString -> Word.Word32 -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr WideString.WideString) -> Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr VsTypes.VSADDRESULT -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) prim_isDocumentInProject :: (Wtypes.LPCOLESTR -> objState -> Prelude.IO (Wtypes.BOOL, VsTypes.VSDOCUMENTPRIORITY, VsTypes.VSITEMID)) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Int.Int32 -> Foreign.Ptr.Ptr VsTypes.VSDOCUMENTPRIORITY -> Foreign.Ptr.Ptr Wtypes.DWORD -> Prelude.IO Int.Int32 prim_isDocumentInProject isDocumentInProject_meth iptr pszMkDocument out_pfFound out_pdwPriority out_pitemid = Com.returnHR (WideString.unmarshallWideString pszMkDocument Prelude.>>= \ pszMkDocument -> ComServ.getObjState iptr Prelude.>>= \ obj -> isDocumentInProject_meth pszMkDocument obj Prelude.>>= \ (res__pfFound, res__pdwPriority, res__pitemid) -> HDirect.marshallEnum32 res__pdwPriority Prelude.>>= \ res__pdwPriority -> HDirect.writeEnum32 out_pfFound res__pfFound Prelude.>> HDirect.writeEnum32 out_pdwPriority res__pdwPriority Prelude.>> HDirect.writeWord32 out_pitemid res__pitemid) prim_getMkDocument :: (VsTypes.VSITEMID -> objState -> Prelude.IO Prelude.String) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Int.Int32 prim_getMkDocument getMkDocument_meth iptr itemid out_pbstrMkDocument = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> getMkDocument_meth itemid obj Prelude.>>= \ res__pbstrMkDocument -> Com.marshallBSTR res__pbstrMkDocument Prelude.>>= \ res__pbstrMkDocument -> HDirect.writePtr (Foreign.Ptr.castPtr out_pbstrMkDocument) res__pbstrMkDocument) prim_openItem :: (VsTypes.VSITEMID -> Wtypes.REFGUID -> Com.IUnknown a0 -> objState -> Prelude.IO (IVsWindowFrame ())) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IVsWindowFrame ())) -> Prelude.IO Int.Int32 prim_openItem openItem_meth iptr itemid rguidLogicalView punkDocDataExisting out_ppWindowFrame = Com.returnHR (Com.unmarshallGUID Prelude.False rguidLogicalView Prelude.>>= \ rguidLogicalView -> Com.unmarshallIUnknown Prelude.True punkDocDataExisting Prelude.>>= \ punkDocDataExisting -> ComServ.getObjState iptr Prelude.>>= \ obj -> openItem_meth itemid rguidLogicalView punkDocDataExisting obj Prelude.>>= \ res__ppWindowFrame -> Com.marshallIUnknown res__ppWindowFrame Prelude.>>= \ res__ppWindowFrame -> Foreign.poke (Foreign.Ptr.castPtr out_ppWindowFrame) res__ppWindowFrame) prim_getItemContext :: (VsTypes.VSITEMID -> objState -> Prelude.IO (ServProv.IServiceProvider ())) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (ServProv.IServiceProvider ())) -> Prelude.IO Int.Int32 prim_getItemContext getItemContext_meth iptr itemid out_ppSP = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> getItemContext_meth itemid obj Prelude.>>= \ res__ppSP -> Com.marshallIUnknown res__ppSP Prelude.>>= \ res__ppSP -> Foreign.poke (Foreign.Ptr.castPtr out_ppSP) res__ppSP) prim_generateUniqueItemName :: (VsTypes.VSITEMID -> Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> objState -> Prelude.IO Prelude.String) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Int.Int32 prim_generateUniqueItemName generateUniqueItemName_meth iptr itemidLoc pszExt pszSuggestedRoot out_pbstrItemName = Com.returnHR (WideString.unmarshallWideString pszExt Prelude.>>= \ pszExt -> WideString.unmarshallWideString pszSuggestedRoot Prelude.>>= \ pszSuggestedRoot -> ComServ.getObjState iptr Prelude.>>= \ obj -> generateUniqueItemName_meth itemidLoc pszExt pszSuggestedRoot obj Prelude.>>= \ res__pbstrItemName -> Com.marshallBSTR res__pbstrItemName Prelude.>>= \ res__pbstrItemName -> HDirect.writePtr (Foreign.Ptr.castPtr out_pbstrItemName) res__pbstrItemName) prim_addItem :: (VsTypes.VSITEMID -> VsTypes.VSADDITEMOPERATION -> Wtypes.LPCOLESTR -> [Wtypes.LPCOLESTR] -> Wtypes.HWND -> objState -> Prelude.IO VsTypes.VSADDRESULT) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Int.Int32 -> Foreign.Ptr.Ptr WideString.WideString -> Word.Word32 -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr WideString.WideString) -> Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr VsTypes.VSADDRESULT -> Prelude.IO Int.Int32 prim_addItem addItem_meth iptr itemidLoc dwAddItemOperation pszItemName cFilesToOpen rgpszFilesToOpen hwndDlgOwner out_pResult = Com.returnHR (HDirect.unmarshallWord32 cFilesToOpen Prelude.>>= \ cFilesToOpen -> HDirect.unmarshalllist HDirect.sizeofPtr 0 cFilesToOpen readWideString rgpszFilesToOpen Prelude.>>= \ rgpszFilesToOpen -> HDirect.unmarshallEnum32 dwAddItemOperation Prelude.>>= \ dwAddItemOperation -> WideString.unmarshallWideString pszItemName Prelude.>>= \ pszItemName -> ComServ.getObjState iptr Prelude.>>= \ obj -> addItem_meth itemidLoc dwAddItemOperation pszItemName rgpszFilesToOpen hwndDlgOwner obj Prelude.>>= \ res__pResult -> HDirect.marshallEnum32 res__pResult Prelude.>>= \ res__pResult -> HDirect.writeEnum32 out_pResult res__pResult) -- -------------------------------------------------- -- -- interface IVsProject2 -- -- -------------------------------------------------- mkIVsProject2_vtbl :: (Wtypes.DWORD -> VsTypes.VSITEMID -> objState -> Prelude.IO Wtypes.BOOL) -> (VsTypes.VSITEMID -> Wtypes.REFGUID -> Wtypes.LPCOLESTR -> Wtypes.REFGUID -> Com.IUnknown a0 -> objState -> Prelude.IO (IVsWindowFrame ())) -> Prelude.IO (ComServ.ComVTable (IVsProject2 ()) objState) mkIVsProject2_vtbl removeItem reopenItem = do meth_arg0 <- export_removeItem (prim_removeItem removeItem) meth_arg1 <- export_reopenItem (prim_reopenItem reopenItem) ComServ.createComVTable [ meth_arg0 , meth_arg1 ] foreign import stdcall "wrapper" export_removeItem :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Word.Word32 -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_reopenItem :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr (Com.IUnknown a0) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IVsWindowFrame a1)) -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) prim_removeItem :: (Wtypes.DWORD -> VsTypes.VSITEMID -> objState -> Prelude.IO Wtypes.BOOL) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Word.Word32 -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 prim_removeItem removeItem_meth iptr dwReserved itemid out_pfResult = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> removeItem_meth dwReserved itemid obj Prelude.>>= \ res__pfResult -> HDirect.writeInt32 out_pfResult res__pfResult) prim_reopenItem :: (VsTypes.VSITEMID -> Wtypes.REFGUID -> Wtypes.LPCOLESTR -> Wtypes.REFGUID -> Com.IUnknown a0 -> objState -> Prelude.IO (IVsWindowFrame ())) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IVsWindowFrame ())) -> Prelude.IO Int.Int32 prim_reopenItem reopenItem_meth iptr itemid rguidEditorType pszPhysicalView rguidLogicalView punkDocDataExisting out_ppWindowFrame = Com.returnHR (Com.unmarshallGUID Prelude.False rguidEditorType Prelude.>>= \ rguidEditorType -> WideString.unmarshallWideString pszPhysicalView Prelude.>>= \ pszPhysicalView -> Com.unmarshallGUID Prelude.False rguidLogicalView Prelude.>>= \ rguidLogicalView -> Com.unmarshallIUnknown Prelude.True punkDocDataExisting Prelude.>>= \ punkDocDataExisting -> ComServ.getObjState iptr Prelude.>>= \ obj -> reopenItem_meth itemid rguidEditorType pszPhysicalView rguidLogicalView punkDocDataExisting obj Prelude.>>= \ res__ppWindowFrame -> Com.marshallIUnknown res__ppWindowFrame Prelude.>>= \ res__ppWindowFrame -> Foreign.poke (Foreign.Ptr.castPtr out_ppWindowFrame) res__ppWindowFrame) -- -------------------------------------------------- -- -- interface IVsProject3 -- -- -------------------------------------------------- mkIVsProject3_vtbl :: (VsTypes.VSITEMID -> VsTypes.VSADDITEMOPERATION -> Wtypes.LPCOLESTR -> [Wtypes.LPCOLESTR] -> Wtypes.HWND -> VsTypes.VSSPECIFICEDITORFLAGS -> Wtypes.REFGUID -> Wtypes.LPCOLESTR -> Wtypes.REFGUID -> objState -> Prelude.IO VsTypes.VSADDRESULT) -> (VsTypes.VSITEMID -> VsTypes.VSSPECIFICEDITORFLAGS -> Wtypes.REFGUID -> Wtypes.LPCOLESTR -> Wtypes.REFGUID -> Com.IUnknown a0 -> objState -> Prelude.IO (IVsWindowFrame ())) -> (Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> IVsWindowFrame a0 -> objState -> Prelude.IO ()) -> Prelude.IO (ComServ.ComVTable (IVsProject3 ()) objState) mkIVsProject3_vtbl addItemWithSpecific openItemWithSpecific transferItem = do meth_arg0 <- export_addItemWithSpecific (prim_addItemWithSpecific addItemWithSpecific) meth_arg1 <- export_openItemWithSpecific (prim_openItemWithSpecific openItemWithSpecific) meth_arg2 <- export_transferItem (prim_transferItem transferItem) ComServ.createComVTable [ meth_arg0 , meth_arg1 , meth_arg2 ] foreign import stdcall "wrapper" export_addItemWithSpecific :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Int.Int32 -> Foreign.Ptr.Ptr WideString.WideString -> Word.Word32 -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr WideString.WideString) -> Foreign.Ptr.Ptr () -> Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr VsTypes.VSADDRESULT -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_openItemWithSpecific :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr (Com.IUnknown a0) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IVsWindowFrame a1)) -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_transferItem :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr (IVsWindowFrame a0) -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) prim_addItemWithSpecific :: (VsTypes.VSITEMID -> VsTypes.VSADDITEMOPERATION -> Wtypes.LPCOLESTR -> [Wtypes.LPCOLESTR] -> Wtypes.HWND -> VsTypes.VSSPECIFICEDITORFLAGS -> Wtypes.REFGUID -> Wtypes.LPCOLESTR -> Wtypes.REFGUID -> objState -> Prelude.IO VsTypes.VSADDRESULT) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Int.Int32 -> Foreign.Ptr.Ptr WideString.WideString -> Word.Word32 -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr WideString.WideString) -> Foreign.Ptr.Ptr () -> Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr VsTypes.VSADDRESULT -> Prelude.IO Int.Int32 prim_addItemWithSpecific addItemWithSpecific_meth iptr itemidLoc dwAddItemOperation pszItemName cFilesToOpen rgpszFilesToOpen hwndDlgOwner grfEditorFlags rguidEditorType pszPhysicalView rguidLogicalView out_pResult = Com.returnHR (HDirect.unmarshallWord32 cFilesToOpen Prelude.>>= \ cFilesToOpen -> HDirect.unmarshalllist HDirect.sizeofPtr 0 cFilesToOpen readWideString rgpszFilesToOpen Prelude.>>= \ rgpszFilesToOpen -> HDirect.unmarshallEnum32 dwAddItemOperation Prelude.>>= \ dwAddItemOperation -> WideString.unmarshallWideString pszItemName Prelude.>>= \ pszItemName -> HDirect.unmarshallEnum32 grfEditorFlags Prelude.>>= \ grfEditorFlags -> Com.unmarshallGUID Prelude.False rguidEditorType Prelude.>>= \ rguidEditorType -> WideString.unmarshallWideString pszPhysicalView Prelude.>>= \ pszPhysicalView -> Com.unmarshallGUID Prelude.False rguidLogicalView Prelude.>>= \ rguidLogicalView -> ComServ.getObjState iptr Prelude.>>= \ obj -> addItemWithSpecific_meth itemidLoc dwAddItemOperation pszItemName rgpszFilesToOpen hwndDlgOwner grfEditorFlags rguidEditorType pszPhysicalView rguidLogicalView obj Prelude.>>= \ res__pResult -> HDirect.marshallEnum32 res__pResult Prelude.>>= \ res__pResult -> HDirect.writeEnum32 out_pResult res__pResult) prim_openItemWithSpecific :: (VsTypes.VSITEMID -> VsTypes.VSSPECIFICEDITORFLAGS -> Wtypes.REFGUID -> Wtypes.LPCOLESTR -> Wtypes.REFGUID -> Com.IUnknown a0 -> objState -> Prelude.IO (IVsWindowFrame ())) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IVsWindowFrame ())) -> Prelude.IO Int.Int32 prim_openItemWithSpecific openItemWithSpecific_meth iptr itemid grfEditorFlags rguidEditorType pszPhysicalView rguidLogicalView punkDocDataExisting out_ppWindowFrame = Com.returnHR (HDirect.unmarshallEnum32 grfEditorFlags Prelude.>>= \ grfEditorFlags -> Com.unmarshallGUID Prelude.False rguidEditorType Prelude.>>= \ rguidEditorType -> WideString.unmarshallWideString pszPhysicalView Prelude.>>= \ pszPhysicalView -> Com.unmarshallGUID Prelude.False rguidLogicalView Prelude.>>= \ rguidLogicalView -> Com.unmarshallIUnknown Prelude.True punkDocDataExisting Prelude.>>= \ punkDocDataExisting -> ComServ.getObjState iptr Prelude.>>= \ obj -> openItemWithSpecific_meth itemid grfEditorFlags rguidEditorType pszPhysicalView rguidLogicalView punkDocDataExisting obj Prelude.>>= \ res__ppWindowFrame -> Com.marshallIUnknown res__ppWindowFrame Prelude.>>= \ res__ppWindowFrame -> Foreign.poke (Foreign.Ptr.castPtr out_ppWindowFrame) res__ppWindowFrame) prim_transferItem :: (Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> IVsWindowFrame a0 -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr (IVsWindowFrame ()) -> Prelude.IO Int.Int32 prim_transferItem transferItem_meth iptr pszMkDocumentOld pszMkDocumentNew punkWindowFrame = Com.returnHR (WideString.unmarshallWideString pszMkDocumentOld Prelude.>>= \ pszMkDocumentOld -> WideString.unmarshallWideString pszMkDocumentNew Prelude.>>= \ pszMkDocumentNew -> Com.unmarshallIUnknown Prelude.True punkWindowFrame Prelude.>>= \ punkWindowFrame -> ComServ.getObjState iptr Prelude.>>= \ obj -> transferItem_meth pszMkDocumentOld pszMkDocumentNew punkWindowFrame obj) -- -------------------------------------------------- -- -- interface IVsProjectFactory -- -- -------------------------------------------------- mkIVsProjectFactory_vtbl :: (Wtypes.LPCOLESTR -> Wtypes.DWORD -> objState -> Prelude.IO Wtypes.BOOL) -> (Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> Wtypes.DWORD -> Com.IID (Com.IUnknown i0) -> objState -> Prelude.IO (Com.IUnknown i0, Wtypes.BOOL)) -> (ServProv.IServiceProvider a0 -> objState -> Prelude.IO ()) -> (objState -> Prelude.IO ()) -> Prelude.IO (ComServ.ComVTable (IVsProjectFactory ()) objState) mkIVsProjectFactory_vtbl canCreateProject createProject setSite close = do meth_arg0 <- export_canCreateProject (prim_canCreateProject canCreateProject) meth_arg1 <- export_createProject (prim_createProject createProject) meth_arg2 <- export_setSite (prim_setSite setSite) meth_arg3 <- export_show (prim_close close) ComServ.createComVTable [ meth_arg0 , meth_arg1 , meth_arg2 , meth_arg3 ] foreign import stdcall "wrapper" export_canCreateProject :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr WideString.WideString -> Int.Int32 -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_createProject :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Int.Int32 -> Foreign.Ptr.Ptr (Com.IID (Com.IUnknown i0)) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (Com.IUnknown i0)) -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_setSite :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (ServProv.IServiceProvider a0) -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) prim_canCreateProject :: (Wtypes.LPCOLESTR -> Wtypes.DWORD -> objState -> Prelude.IO Wtypes.BOOL) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr WideString.WideString -> Int.Int32 -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 prim_canCreateProject canCreateProject_meth iptr pszFilename grfCreateFlags out_pfCanCreate = Com.returnHR (WideString.unmarshallWideString pszFilename Prelude.>>= \ pszFilename -> HDirect.unmarshallEnum32 grfCreateFlags Prelude.>>= \ grfCreateFlags -> ComServ.getObjState iptr Prelude.>>= \ obj -> canCreateProject_meth pszFilename grfCreateFlags obj Prelude.>>= \ res__pfCanCreate -> HDirect.writeInt32 out_pfCanCreate res__pfCanCreate) prim_createProject :: (Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> Wtypes.DWORD -> Com.IID (Com.IUnknown i0) -> objState -> Prelude.IO (Com.IUnknown i0, Wtypes.BOOL)) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Int.Int32 -> Foreign.Ptr.Ptr (Com.IID (Com.IUnknown i0)) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (Com.IUnknown i0)) -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 prim_createProject createProject_meth iptr pszFilename pszLocation pszName grfCreateFlags iidProject out_ppvProject out_pfCanceled = Com.returnHR (WideString.unmarshallWideString pszFilename Prelude.>>= \ pszFilename -> WideString.unmarshallWideString pszLocation Prelude.>>= \ pszLocation -> WideString.unmarshallWideString pszName Prelude.>>= \ pszName -> HDirect.unmarshallEnum32 grfCreateFlags Prelude.>>= \ grfCreateFlags -> Com.unmarshallIID Prelude.False iidProject Prelude.>>= \ iidProject -> ComServ.getObjState iptr Prelude.>>= \ obj -> createProject_meth pszFilename pszLocation pszName grfCreateFlags iidProject obj Prelude.>>= \ (res__ppvProject, res__pfCanceled) -> Com.marshallIUnknown res__ppvProject Prelude.>>= \ res__ppvProject -> Foreign.poke (Foreign.Ptr.castPtr out_ppvProject) res__ppvProject Prelude.>> HDirect.writeInt32 out_pfCanceled res__pfCanceled) prim_setSite :: (ServProv.IServiceProvider a0 -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (ServProv.IServiceProvider ()) -> Prelude.IO Int.Int32 prim_setSite setSite_meth iptr pSP = Com.returnHR (Com.unmarshallIUnknown Prelude.True pSP Prelude.>>= \ pSP -> ComServ.getObjState iptr Prelude.>>= \ obj -> setSite_meth pSP obj) prim_close :: (objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Prelude.IO Int.Int32 prim_close close_meth iptr = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> close_meth obj) -- -------------------------------------------------- -- -- interface IVsHierarchy -- -- -------------------------------------------------- mkIVsHierarchy_vtbl :: (ServProv.IServiceProvider a0 -> objState -> Prelude.IO ()) -> (objState -> Prelude.IO (ServProv.IServiceProvider ())) -> (objState -> Prelude.IO Wtypes.BOOL) -> (objState -> Prelude.IO ()) -> (VsTypes.VSITEMID -> VsTypes.VSHPROPID -> objState -> Prelude.IO Com.GUID) -> (VsTypes.VSITEMID -> VsTypes.VSHPROPID -> Wtypes.REFGUID -> objState -> Prelude.IO ()) -> (VsTypes.VSITEMID -> VsTypes.VSHPROPID -> Automation.VARIANT -> objState -> Prelude.IO ()) -> (VsTypes.VSITEMID -> VsTypes.VSHPROPID -> Automation.VARIANT -> objState -> Prelude.IO ()) -> (VsTypes.VSITEMID -> Com.IID (Com.IUnknown i0) -> objState -> Prelude.IO (Com.IUnknown i0, VsTypes.VSITEMID)) -> (VsTypes.VSITEMID -> objState -> Prelude.IO Prelude.String) -> (Wtypes.LPCOLESTR -> objState -> Prelude.IO VsTypes.VSITEMID) -> (objState -> Prelude.IO ()) -> (IVsHierarchyEvents a0 -> objState -> Prelude.IO VsTypes.VSCOOKIE) -> (VsTypes.VSCOOKIE -> objState -> Prelude.IO ()) -> (objState -> Prelude.IO ()) -> (objState -> Prelude.IO ()) -> (objState -> Prelude.IO ()) -> (objState -> Prelude.IO ()) -> Prelude.IO (ComServ.ComVTable (IVsHierarchy ()) objState) mkIVsHierarchy_vtbl setSite0 getSite queryClose close0 getGuidProperty0 setGuidProperty0 getProperty0 setProperty0 getNestedHierarchy getCanonicalName parseCanonicalName unused0 adviseHierarchyEvents unadviseHierarchyEvents unused1 unused2 unused3 unused4 = do meth_arg0 <- export_setSite (prim_setSite0 setSite0) meth_arg1 <- export_getSite (prim_getSite getSite) meth_arg2 <- export_isOnScreen (prim_queryClose queryClose) meth_arg3 <- export_show (prim_close0 close0) meth_arg4 <- export_getGuidProperty0 (prim_getGuidProperty0 getGuidProperty0) meth_arg5 <- export_getGuidProperty0 (prim_setGuidProperty0 setGuidProperty0) meth_arg6 <- export_getProperty0 (prim_getProperty0 getProperty0) meth_arg7 <- export_setProperty0 (prim_setProperty0 setProperty0) meth_arg8 <- export_getNestedHierarchy (prim_getNestedHierarchy getNestedHierarchy) meth_arg9 <- export_getMkDocument (prim_getCanonicalName getCanonicalName) meth_arg10 <- export_parseCanonicalName (prim_parseCanonicalName parseCanonicalName) meth_arg11 <- export_show (prim_unused0 unused0) meth_arg12 <- export_adviseHierarchyEvents (prim_adviseHierarchyEvents adviseHierarchyEvents) meth_arg13 <- export_unadviseHierarchyEvents (prim_unadviseHierarchyEvents unadviseHierarchyEvents) meth_arg14 <- export_show (prim_unused1 unused1) meth_arg15 <- export_show (prim_unused2 unused2) meth_arg16 <- export_show (prim_unused3 unused3) meth_arg17 <- export_show (prim_unused4 unused4) ComServ.createComVTable [ meth_arg0 , meth_arg1 , meth_arg2 , meth_arg3 , meth_arg4 , meth_arg5 , meth_arg6 , meth_arg7 , meth_arg8 , meth_arg9 , meth_arg10 , meth_arg11 , meth_arg12 , meth_arg13 , meth_arg14 , meth_arg15 , meth_arg16 , meth_arg17 ] foreign import stdcall "wrapper" export_getSite :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (ServProv.IServiceProvider a0)) -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getGuidProperty0 :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getProperty0 :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Int.Int32 -> Automation.VARIANT -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) export_setProperty0 :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Int.Int32 -> Automation.VARIANT -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) export_setProperty0 fun = Foreign.StablePtr.newStablePtr fun Prelude.>>= c_export_setProperty0 foreign import ccall "export_setProperty0" c_export_setProperty0 :: Foreign.StablePtr.StablePtr (Foreign.Ptr.Ptr a -> Word.Word32 -> Int.Int32 -> Automation.VARIANT -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getNestedHierarchy :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Foreign.Ptr.Ptr (Com.IID (Com.IUnknown i0)) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (Com.IUnknown i0)) -> Foreign.Ptr.Ptr Wtypes.DWORD -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_parseCanonicalName :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Wtypes.DWORD -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_adviseHierarchyEvents :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (IVsHierarchyEvents a) -> Foreign.Ptr.Ptr Wtypes.DWORD -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_unadviseHierarchyEvents :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) prim_setSite0 :: (ServProv.IServiceProvider a0 -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (ServProv.IServiceProvider ()) -> Prelude.IO Int.Int32 prim_setSite0 setSite0_meth iptr pSP = Com.returnHR (Com.unmarshallIUnknown Prelude.True pSP Prelude.>>= \ pSP -> ComServ.getObjState iptr Prelude.>>= \ obj -> setSite0_meth pSP obj) prim_getSite :: (objState -> Prelude.IO (ServProv.IServiceProvider ())) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (ServProv.IServiceProvider ())) -> Prelude.IO Int.Int32 prim_getSite getSite_meth iptr out_ppSP = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> getSite_meth obj Prelude.>>= \ res__ppSP -> Com.marshallIUnknown res__ppSP Prelude.>>= \ res__ppSP -> Foreign.poke (Foreign.Ptr.castPtr out_ppSP) res__ppSP) prim_queryClose :: (objState -> Prelude.IO Wtypes.BOOL) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 prim_queryClose queryClose_meth iptr out_pfCanClose = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> queryClose_meth obj Prelude.>>= \ res__pfCanClose -> HDirect.writeInt32 out_pfCanClose res__pfCanClose) prim_close0 :: (objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Prelude.IO Int.Int32 prim_close0 close0_meth iptr = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> close0_meth obj) prim_getGuidProperty0 :: (VsTypes.VSITEMID -> VsTypes.VSHPROPID -> objState -> Prelude.IO Com.GUID) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Prelude.IO Int.Int32 prim_getGuidProperty0 getGuidProperty0_meth iptr itemid propid out_pguid = Com.returnHR (HDirect.unmarshallEnum32 propid Prelude.>>= \ propid -> ComServ.getObjState iptr Prelude.>>= \ obj -> getGuidProperty0_meth itemid propid obj Prelude.>>= \ res__pguid -> Com.marshallGUID res__pguid Prelude.>>= \ res__pguid -> ComPrim.primCopyGUID (Foreign.ForeignPtr.castForeignPtr res__pguid) (Foreign.Ptr.castPtr out_pguid)) prim_setGuidProperty0 :: (VsTypes.VSITEMID -> VsTypes.VSHPROPID -> Wtypes.REFGUID -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Prelude.IO Int.Int32 prim_setGuidProperty0 setGuidProperty0_meth iptr itemid propid rguid = Com.returnHR (HDirect.unmarshallEnum32 propid Prelude.>>= \ propid -> Com.unmarshallGUID Prelude.False rguid Prelude.>>= \ rguid -> ComServ.getObjState iptr Prelude.>>= \ obj -> setGuidProperty0_meth itemid propid rguid obj) prim_getProperty0 :: (VsTypes.VSITEMID -> VsTypes.VSHPROPID -> Automation.VARIANT -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Int.Int32 -> Automation.VARIANT -> Prelude.IO Int.Int32 prim_getProperty0 getProperty0_meth iptr itemid propid out_pvar = Com.returnHR (HDirect.unmarshallEnum32 propid Prelude.>>= \ propid -> ComServ.getObjState iptr Prelude.>>= \ obj -> getProperty0_meth itemid propid out_pvar obj) prim_setProperty0 :: (VsTypes.VSITEMID -> VsTypes.VSHPROPID -> Automation.VARIANT -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Int.Int32 -> Automation.VARIANT -> Prelude.IO Int.Int32 prim_setProperty0 setProperty0_meth iptr itemid propid var = Com.returnHR (HDirect.unmarshallEnum32 propid Prelude.>>= \ propid -> Automation.unmarshallVARIANT var Prelude.>>= \ var -> ComServ.getObjState iptr Prelude.>>= \ obj -> setProperty0_meth itemid propid var obj) prim_getNestedHierarchy :: (VsTypes.VSITEMID -> Com.IID (Com.IUnknown i0) -> objState -> Prelude.IO (Com.IUnknown i0, VsTypes.VSITEMID)) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Foreign.Ptr.Ptr (Com.IID (Com.IUnknown i0)) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (Com.IUnknown i0)) -> Foreign.Ptr.Ptr Wtypes.DWORD -> Prelude.IO Int.Int32 prim_getNestedHierarchy getNestedHierarchy_meth iptr itemid iidHierarchyNested out_ppHierarchyNested out_pitemidNested = Com.returnHR (Com.unmarshallIID Prelude.False iidHierarchyNested Prelude.>>= \ iidHierarchyNested -> ComServ.getObjState iptr Prelude.>>= \ obj -> getNestedHierarchy_meth itemid iidHierarchyNested obj Prelude.>>= \ (res__ppHierarchyNested, res__pitemidNested) -> Com.marshallIUnknown res__ppHierarchyNested Prelude.>>= \ res__ppHierarchyNested -> Foreign.poke (Foreign.Ptr.castPtr out_ppHierarchyNested) res__ppHierarchyNested Prelude.>> HDirect.writeWord32 out_pitemidNested res__pitemidNested) prim_getCanonicalName :: (VsTypes.VSITEMID -> objState -> Prelude.IO Prelude.String) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Int.Int32 prim_getCanonicalName getCanonicalName_meth iptr itemid out_pbstrName = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> getCanonicalName_meth itemid obj Prelude.>>= \ res__pbstrName -> Com.marshallBSTR res__pbstrName Prelude.>>= \ res__pbstrName -> HDirect.writePtr (Foreign.Ptr.castPtr out_pbstrName) res__pbstrName) prim_parseCanonicalName :: (Wtypes.LPCOLESTR -> objState -> Prelude.IO VsTypes.VSITEMID) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Wtypes.DWORD -> Prelude.IO Int.Int32 prim_parseCanonicalName parseCanonicalName_meth iptr pszName out_pitemid = Com.returnHR (WideString.unmarshallWideString pszName Prelude.>>= \ pszName -> ComServ.getObjState iptr Prelude.>>= \ obj -> parseCanonicalName_meth pszName obj Prelude.>>= \ res__pitemid -> HDirect.writeWord32 out_pitemid res__pitemid) prim_unused0 :: (objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Prelude.IO Int.Int32 prim_unused0 unused0_meth iptr = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> unused0_meth obj) prim_adviseHierarchyEvents :: (IVsHierarchyEvents a0 -> objState -> Prelude.IO VsTypes.VSCOOKIE) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (IVsHierarchyEvents a) -> Foreign.Ptr.Ptr Wtypes.DWORD -> Prelude.IO Int.Int32 prim_adviseHierarchyEvents adviseHierarchyEvents_meth iptr pEventSink out_pdwCookie = Com.returnHR (Com.unmarshallIUnknown Prelude.True pEventSink Prelude.>>= \ pEventSink -> ComServ.getObjState iptr Prelude.>>= \ obj -> adviseHierarchyEvents_meth pEventSink obj Prelude.>>= \ res__pdwCookie -> HDirect.writeWord32 out_pdwCookie res__pdwCookie) prim_unadviseHierarchyEvents :: (VsTypes.VSCOOKIE -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Prelude.IO Int.Int32 prim_unadviseHierarchyEvents unadviseHierarchyEvents_meth iptr dwCookie = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> unadviseHierarchyEvents_meth dwCookie obj) prim_unused1 :: (objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Prelude.IO Int.Int32 prim_unused1 unused1_meth iptr = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> unused1_meth obj) prim_unused2 :: (objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Prelude.IO Int.Int32 prim_unused2 unused2_meth iptr = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> unused2_meth obj) prim_unused3 :: (objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Prelude.IO Int.Int32 prim_unused3 unused3_meth iptr = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> unused3_meth obj) prim_unused4 :: (objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Prelude.IO Int.Int32 prim_unused4 unused4_meth iptr = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> unused4_meth obj) -- -------------------------------------------------- -- -- interface IVsUIHierarchy -- -- -------------------------------------------------- mkIVsUIHierarchy_vtbl :: (ServProv.IServiceProvider a0 -> objState -> Prelude.IO ()) -> (objState -> Prelude.IO (ServProv.IServiceProvider ())) -> (objState -> Prelude.IO Wtypes.BOOL) -> (objState -> Prelude.IO ()) -> (VsTypes.VSITEMID -> VsTypes.VSHPROPID -> objState -> Prelude.IO Com.GUID) -> (VsTypes.VSITEMID -> VsTypes.VSHPROPID -> Wtypes.REFGUID -> objState -> Prelude.IO ()) -> (VsTypes.VSITEMID -> VsTypes.VSHPROPID -> Automation.VARIANT -> objState -> Prelude.IO ()) -> (VsTypes.VSITEMID -> VsTypes.VSHPROPID -> Automation.VARIANT -> objState -> Prelude.IO ()) -> (VsTypes.VSITEMID -> Com.IID (Com.IUnknown i0) -> objState -> Prelude.IO (Com.IUnknown i0, VsTypes.VSITEMID)) -> (VsTypes.VSITEMID -> objState -> Prelude.IO Prelude.String) -> (Wtypes.LPCOLESTR -> objState -> Prelude.IO VsTypes.VSITEMID) -> (objState -> Prelude.IO ()) -> (IVsHierarchyEvents a0 -> objState -> Prelude.IO VsTypes.VSCOOKIE) -> (VsTypes.VSCOOKIE -> objState -> Prelude.IO ()) -> (objState -> Prelude.IO ()) -> (objState -> Prelude.IO ()) -> (objState -> Prelude.IO ()) -> (objState -> Prelude.IO ()) -> (VsTypes.VSITEMID -> Com.GUID -> [DocObjProxy.OLECMD] -> Prelude.Maybe DocObjProxy.OLECMDTEXT -> objState -> Prelude.IO ([DocObjProxy.OLECMD], Prelude.Maybe DocObjProxy.OLECMDTEXT)) -> (VsTypes.VSITEMID -> Com.GUID -> Wtypes.DWORD -> Wtypes.DWORD -> Automation.VARIANT -> Automation.VARIANT -> objState -> Prelude.IO ()) -> Prelude.IO (ComServ.ComVTable (IVsUIHierarchy ()) objState) mkIVsUIHierarchy_vtbl setSite0 getSite queryClose close0 getGuidProperty0 setGuidProperty0 getProperty0 setProperty0 getNestedHierarchy getCanonicalName parseCanonicalName unused0 adviseHierarchyEvents unadviseHierarchyEvents unused1 unused2 unused3 unused4 queryStatusCommand execCommand = do meth_arg0 <- export_setSite (prim_setSite0 setSite0) meth_arg1 <- export_getSite (prim_getSite getSite) meth_arg2 <- export_isOnScreen (prim_queryClose queryClose) meth_arg3 <- export_show (prim_close0 close0) meth_arg4 <- export_getGuidProperty0 (prim_getGuidProperty0 getGuidProperty0) meth_arg5 <- export_getGuidProperty0 (prim_setGuidProperty0 setGuidProperty0) meth_arg6 <- export_getProperty0 (prim_getProperty0 getProperty0) meth_arg7 <- export_setProperty0 (prim_setProperty0 setProperty0) meth_arg8 <- export_getNestedHierarchy (prim_getNestedHierarchy getNestedHierarchy) meth_arg9 <- export_getMkDocument (prim_getCanonicalName getCanonicalName) meth_arg10 <- export_parseCanonicalName (prim_parseCanonicalName parseCanonicalName) meth_arg11 <- export_show (prim_unused0 unused0) meth_arg12 <- export_adviseHierarchyEvents (prim_adviseHierarchyEvents adviseHierarchyEvents) meth_arg13 <- export_unadviseHierarchyEvents (prim_unadviseHierarchyEvents unadviseHierarchyEvents) meth_arg14 <- export_show (prim_unused1 unused1) meth_arg15 <- export_show (prim_unused2 unused2) meth_arg16 <- export_show (prim_unused3 unused3) meth_arg17 <- export_show (prim_unused4 unused4) meth_arg18 <- export_queryStatusCommand (prim_queryStatusCommand queryStatusCommand) meth_arg19 <- export_execCommand (prim_execCommand execCommand) ComServ.createComVTable [ meth_arg0 , meth_arg1 , meth_arg2 , meth_arg3 , meth_arg4 , meth_arg5 , meth_arg6 , meth_arg7 , meth_arg8 , meth_arg9 , meth_arg10 , meth_arg11 , meth_arg12 , meth_arg13 , meth_arg14 , meth_arg15 , meth_arg16 , meth_arg17 , meth_arg18 , meth_arg19 ] export_queryStatusCommand :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Foreign.Ptr.Ptr Com.GUID -> Word.Word32 -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr ()) -> Foreign.Ptr.Ptr DocObjProxy.OLECMDTEXT -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) export_queryStatusCommand fun = Foreign.StablePtr.newStablePtr fun Prelude.>>= c_export_queryStatusCommand foreign import ccall "export_queryStatusCommand" c_export_queryStatusCommand :: Foreign.StablePtr.StablePtr (Foreign.Ptr.Ptr a -> Word.Word32 -> Foreign.Ptr.Ptr Com.GUID -> Word.Word32 -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr ()) -> Foreign.Ptr.Ptr DocObjProxy.OLECMDTEXT -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_execCommand :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Foreign.Ptr.Ptr Com.GUID -> Word.Word32 -> Word.Word32 -> Automation.VARIANT -> Automation.VARIANT -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) prim_queryStatusCommand :: (VsTypes.VSITEMID -> Com.GUID -> [DocObjProxy.OLECMD] -> Prelude.Maybe DocObjProxy.OLECMDTEXT -> objState -> Prelude.IO ([DocObjProxy.OLECMD], Prelude.Maybe DocObjProxy.OLECMDTEXT)) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Foreign.Ptr.Ptr Com.GUID -> Word.Word32 -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr ()) -> Foreign.Ptr.Ptr DocObjProxy.OLECMDTEXT -> Prelude.IO Int.Int32 prim_queryStatusCommand queryStatusCommand_meth iptr itemid pguidCmdGroup cCmds prgCmds pCmdText = Com.returnHR (HDirect.unmarshallWord32 cCmds Prelude.>>= \ cCmds -> HDirect.unmarshalllist DocObjProxy.sizeofOLECMD 0 cCmds DocObjProxy.readOLECMD prgCmds Prelude.>>= \ in__prgCmds -> Com.unmarshallGUID Prelude.False pguidCmdGroup Prelude.>>= \ pguidCmdGroup -> HDirect.unmarshallunique DocObjProxy.readOLECMDTEXT pCmdText Prelude.>>= \ in__pCmdText -> ComServ.getObjState iptr Prelude.>>= \ obj -> queryStatusCommand_meth itemid pguidCmdGroup in__prgCmds in__pCmdText obj Prelude.>>= \ (res__prgCmds, res__pCmdText) -> HDirect.writelist Prelude.False DocObjProxy.sizeofOLECMD DocObjProxy.writeOLECMD (Foreign.Ptr.castPtr prgCmds) res__prgCmds Prelude.>> case res__pCmdText of Prelude.Just cmdText | pCmdText Prelude./= Foreign.Ptr.nullPtr -> DocObjProxy.writeOLECMDTEXT pCmdText cmdText _ -> Prelude.return ()) prim_execCommand :: (VsTypes.VSITEMID -> Com.GUID -> Wtypes.DWORD -> Wtypes.DWORD -> Automation.VARIANT -> Automation.VARIANT -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Foreign.Ptr.Ptr Com.GUID -> Word.Word32 -> Word.Word32 -> Automation.VARIANT -> Automation.VARIANT -> Prelude.IO Int.Int32 prim_execCommand execCommand_meth iptr itemid pguidCmdGroup nCmdID nCmdexecopt pvaIn pvaOut = Com.returnHR (Com.unmarshallGUID Prelude.False pguidCmdGroup Prelude.>>= \ pguidCmdGroup -> ComServ.getObjState iptr Prelude.>>= \ obj -> execCommand_meth itemid pguidCmdGroup nCmdID nCmdexecopt pvaIn pvaOut obj) -- -------------------------------------------------- -- -- interface IVsHierarchyDeleteHandler -- -- -------------------------------------------------- mkIVsHierarchyDeleteHandler_vtbl :: (VSDELETEITEMOPERATION -> VsTypes.VSITEMID -> objState -> Prelude.IO Wtypes.BOOL) -> (VSDELETEITEMOPERATION -> VsTypes.VSITEMID -> objState -> Prelude.IO ()) -> Prelude.IO (ComServ.ComVTable (IVsHierarchyDeleteHandler ()) objState) mkIVsHierarchyDeleteHandler_vtbl queryDeleteItem deleteItem = do meth_arg0 <- export_queryDeleteItem (prim_queryDeleteItem queryDeleteItem) meth_arg1 <- export_deleteItem (prim_deleteItem deleteItem) ComServ.createComVTable [ meth_arg0 , meth_arg1 ] foreign import stdcall "wrapper" export_queryDeleteItem :: (Foreign.Ptr.Ptr a -> Int.Int32 -> Word.Word32 -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_deleteItem :: (Foreign.Ptr.Ptr a -> Int.Int32 -> Word.Word32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) prim_queryDeleteItem :: (VSDELETEITEMOPERATION -> VsTypes.VSITEMID -> objState -> Prelude.IO Wtypes.BOOL) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Int.Int32 -> Word.Word32 -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 prim_queryDeleteItem queryDeleteItem_meth iptr dwDelItemOp itemid out_pfCanDelete = Com.returnHR (HDirect.unmarshallEnum32 dwDelItemOp Prelude.>>= \ dwDelItemOp -> ComServ.getObjState iptr Prelude.>>= \ obj -> queryDeleteItem_meth dwDelItemOp itemid obj Prelude.>>= \ res__pfCanDelete -> HDirect.writeInt32 out_pfCanDelete res__pfCanDelete) prim_deleteItem :: (VSDELETEITEMOPERATION -> VsTypes.VSITEMID -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Int.Int32 -> Word.Word32 -> Prelude.IO Int.Int32 prim_deleteItem deleteItem_meth iptr dwDelItemOp itemid = Com.returnHR (HDirect.unmarshallEnum32 dwDelItemOp Prelude.>>= \ dwDelItemOp -> ComServ.getObjState iptr Prelude.>>= \ obj -> deleteItem_meth dwDelItemOp itemid obj) -- -------------------------------------------------- -- -- interface IVsPersistHierarchyItem -- -- -------------------------------------------------- mkIVsPersistHierarchyItem_vtbl :: (VsTypes.VSITEMID -> Com.IUnknown a0 -> objState -> Prelude.IO Wtypes.BOOL) -> (VSSAVEFLAGS -> Wtypes.LPCOLESTR -> VsTypes.VSITEMID -> Com.IUnknown a0 -> objState -> Prelude.IO Wtypes.BOOL) -> Prelude.IO (ComServ.ComVTable (IVsPersistHierarchyItem ()) objState) mkIVsPersistHierarchyItem_vtbl isItemDirty saveItem = do meth_arg0 <- export_isItemDirty (prim_isItemDirty isItemDirty) meth_arg1 <- export_saveItem (prim_saveItem saveItem) ComServ.createComVTable [ meth_arg0 , meth_arg1 ] foreign import stdcall "wrapper" export_isItemDirty :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Foreign.Ptr.Ptr (Com.IUnknown a0) -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_saveItem :: (Foreign.Ptr.Ptr a -> Int.Int32 -> Foreign.Ptr.Ptr WideString.WideString -> Word.Word32 -> Foreign.Ptr.Ptr (Com.IUnknown a0) -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) prim_isItemDirty :: (VsTypes.VSITEMID -> Com.IUnknown a0 -> objState -> Prelude.IO Wtypes.BOOL) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 prim_isItemDirty isItemDirty_meth iptr itemid punkDocData out_pfDirty = Com.returnHR (Com.unmarshallIUnknown Prelude.True punkDocData Prelude.>>= \ punkDocData -> ComServ.getObjState iptr Prelude.>>= \ obj -> isItemDirty_meth itemid punkDocData obj Prelude.>>= \ res__pfDirty -> HDirect.writeInt32 out_pfDirty res__pfDirty) prim_saveItem :: (VSSAVEFLAGS -> Wtypes.LPCOLESTR -> VsTypes.VSITEMID -> Com.IUnknown a0 -> objState -> Prelude.IO Wtypes.BOOL) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Int.Int32 -> Foreign.Ptr.Ptr WideString.WideString -> Word.Word32 -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 prim_saveItem saveItem_meth iptr dwSave pszSilentSaveAsName itemid punkDocData out_pfCanceled = Com.returnHR (HDirect.unmarshallEnum32 dwSave Prelude.>>= \ dwSave -> WideString.unmarshallWideString pszSilentSaveAsName Prelude.>>= \ pszSilentSaveAsName -> Com.unmarshallIUnknown Prelude.True punkDocData Prelude.>>= \ punkDocData -> ComServ.getObjState iptr Prelude.>>= \ obj -> saveItem_meth dwSave pszSilentSaveAsName itemid punkDocData obj Prelude.>>= \ res__pfCanceled -> HDirect.writeInt32 out_pfCanceled res__pfCanceled) -- -------------------------------------------------- -- -- interface IVsCfg -- -- -------------------------------------------------- mkIVsCfg_vtbl :: (objState -> Prelude.IO Prelude.String) -> (objState -> Prelude.IO Wtypes.BOOL) -> (objState -> Prelude.IO Wtypes.BOOL) -> Prelude.IO (ComServ.ComVTable (IVsCfg ()) objState) mkIVsCfg_vtbl get_DisplayName get_IsDebugOnly get_IsReleaseOnly = do meth_arg0 <- export_get_DisplayName (prim_get_DisplayName get_DisplayName) meth_arg1 <- export_isOnScreen (prim_get_IsDebugOnly get_IsDebugOnly) meth_arg2 <- export_isOnScreen (prim_get_IsReleaseOnly get_IsReleaseOnly) ComServ.createComVTable [ meth_arg0 , meth_arg1 , meth_arg2 ] foreign import stdcall "wrapper" export_get_DisplayName :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) prim_get_DisplayName :: (objState -> Prelude.IO Prelude.String) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Int.Int32 prim_get_DisplayName get_DisplayName_meth iptr out_pbstrDisplayName = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> get_DisplayName_meth obj Prelude.>>= \ res__pbstrDisplayName -> Com.marshallBSTR res__pbstrDisplayName Prelude.>>= \ res__pbstrDisplayName -> HDirect.writePtr (Foreign.Ptr.castPtr out_pbstrDisplayName) res__pbstrDisplayName) prim_get_IsDebugOnly :: (objState -> Prelude.IO Wtypes.BOOL) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 prim_get_IsDebugOnly get_IsDebugOnly_meth iptr out_pfIsDebugOnly = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> get_IsDebugOnly_meth obj Prelude.>>= \ res__pfIsDebugOnly -> HDirect.writeInt32 out_pfIsDebugOnly res__pfIsDebugOnly) prim_get_IsReleaseOnly :: (objState -> Prelude.IO Wtypes.BOOL) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 prim_get_IsReleaseOnly get_IsReleaseOnly_meth iptr out_pfIsReleaseOnly = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> get_IsReleaseOnly_meth obj Prelude.>>= \ res__pfIsReleaseOnly -> HDirect.writeInt32 out_pfIsReleaseOnly res__pfIsReleaseOnly) -- -------------------------------------------------- -- -- interface IVsProjectCfg -- -- -------------------------------------------------- mkIVsProjectCfg_vtbl :: (objState -> Prelude.IO Prelude.String) -> (objState -> Prelude.IO Wtypes.BOOL) -> (objState -> Prelude.IO Wtypes.BOOL) -> (objState -> Prelude.IO (Com.IUnknown ())) -> (Wtypes.LPCOLESTR -> objState -> Prelude.IO (Com.IUnknown ())) -> (objState -> Prelude.IO (Com.IUnknown ())) -> (objState -> Prelude.IO (IVsBuildableProjectCfg ())) -> (objState -> Prelude.IO Prelude.String) -> (objState -> Prelude.IO Com.GUID) -> (objState -> Prelude.IO Wtypes.BOOL) -> (objState -> Prelude.IO Wtypes.BOOL) -> (objState -> Prelude.IO Wtypes.UINT) -> (objState -> Prelude.IO Wtypes.UINT) -> (objState -> Prelude.IO Prelude.String) -> Prelude.IO (ComServ.ComVTable (IVsProjectCfg ()) objState) mkIVsProjectCfg_vtbl get_DisplayName get_IsDebugOnly get_IsReleaseOnly enumOutputs openOutput get_ProjectCfgProvider get_BuildableProjectCfg get_CanonicalName get_Platform get_IsPackaged get_IsSpecifyingOutputSupported get_TargetCodePage get_UpdateSequenceNumber get_RootURL = do meth_arg0 <- export_get_DisplayName (prim_get_DisplayName get_DisplayName) meth_arg1 <- export_isOnScreen (prim_get_IsDebugOnly get_IsDebugOnly) meth_arg2 <- export_isOnScreen (prim_get_IsReleaseOnly get_IsReleaseOnly) meth_arg3 <- export_enumOutputs (prim_enumOutputs enumOutputs) meth_arg4 <- export_openOutput (prim_openOutput openOutput) meth_arg5 <- export_enumOutputs (prim_get_ProjectCfgProvider get_ProjectCfgProvider) meth_arg6 <- export_get_BuildableProjectCfg (prim_get_BuildableProjectCfg get_BuildableProjectCfg) meth_arg7 <- export_get_DisplayName (prim_get_CanonicalName get_CanonicalName) meth_arg8 <- export_get_Platform (prim_get_Platform get_Platform) meth_arg9 <- export_isOnScreen (prim_get_IsPackaged get_IsPackaged) meth_arg10 <- export_isOnScreen (prim_get_IsSpecifyingOutputSupported get_IsSpecifyingOutputSupported) meth_arg11 <- export_get_TargetCodePage (prim_get_TargetCodePage get_TargetCodePage) meth_arg12 <- export_get_TargetCodePage (prim_get_UpdateSequenceNumber get_UpdateSequenceNumber) meth_arg13 <- export_get_DisplayName (prim_get_RootURL get_RootURL) ComServ.createComVTable [ meth_arg0 , meth_arg1 , meth_arg2 , meth_arg3 , meth_arg4 , meth_arg5 , meth_arg6 , meth_arg7 , meth_arg8 , meth_arg9 , meth_arg10 , meth_arg11 , meth_arg12 , meth_arg13 ] foreign import stdcall "wrapper" export_enumOutputs :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (Com.IUnknown a0)) -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_openOutput :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (Com.IUnknown a0)) -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_get_BuildableProjectCfg :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IVsBuildableProjectCfg a)) -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_get_Platform :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr Com.GUID -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_get_TargetCodePage :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr Word.Word32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) prim_enumOutputs :: (objState -> Prelude.IO (Com.IUnknown ())) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (Com.IUnknown ())) -> Prelude.IO Int.Int32 prim_enumOutputs enumOutputs_meth iptr out_ppIVsEnumOutputs = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> enumOutputs_meth obj Prelude.>>= \ res__ppIVsEnumOutputs -> Com.marshallIUnknown res__ppIVsEnumOutputs Prelude.>>= \ res__ppIVsEnumOutputs -> Foreign.poke (Foreign.Ptr.castPtr out_ppIVsEnumOutputs) res__ppIVsEnumOutputs) prim_openOutput :: (Wtypes.LPCOLESTR -> objState -> Prelude.IO (Com.IUnknown ())) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (Com.IUnknown ())) -> Prelude.IO Int.Int32 prim_openOutput openOutput_meth iptr szOutputCanonicalName out_ppIVsOutput = Com.returnHR (WideString.unmarshallWideString szOutputCanonicalName Prelude.>>= \ szOutputCanonicalName -> ComServ.getObjState iptr Prelude.>>= \ obj -> openOutput_meth szOutputCanonicalName obj Prelude.>>= \ res__ppIVsOutput -> Com.marshallIUnknown res__ppIVsOutput Prelude.>>= \ res__ppIVsOutput -> Foreign.poke (Foreign.Ptr.castPtr out_ppIVsOutput) res__ppIVsOutput) prim_get_ProjectCfgProvider :: (objState -> Prelude.IO (Com.IUnknown ())) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (Com.IUnknown ())) -> Prelude.IO Int.Int32 prim_get_ProjectCfgProvider get_ProjectCfgProvider_meth iptr out_ppIVsProjectCfgProvider = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> get_ProjectCfgProvider_meth obj Prelude.>>= \ res__ppIVsProjectCfgProvider -> Com.writeIUnknown Prelude.False out_ppIVsProjectCfgProvider res__ppIVsProjectCfgProvider) prim_get_BuildableProjectCfg :: (objState -> Prelude.IO (IVsBuildableProjectCfg ())) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IVsBuildableProjectCfg a)) -> Prelude.IO Int.Int32 prim_get_BuildableProjectCfg get_BuildableProjectCfg_meth iptr out_ppIVsBuildableProjectCfg = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> get_BuildableProjectCfg_meth obj Prelude.>>= \ res__ppIVsBuildableProjectCfg -> Com.writeIUnknown Prelude.False out_ppIVsBuildableProjectCfg res__ppIVsBuildableProjectCfg) prim_get_CanonicalName :: (objState -> Prelude.IO Prelude.String) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Int.Int32 prim_get_CanonicalName get_CanonicalName_meth iptr out_pbstrCanonicalName = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> get_CanonicalName_meth obj Prelude.>>= \ res__pbstrCanonicalName -> Com.marshallBSTR res__pbstrCanonicalName Prelude.>>= \ res__pbstrCanonicalName -> HDirect.writePtr (Foreign.Ptr.castPtr out_pbstrCanonicalName) res__pbstrCanonicalName) prim_get_Platform :: (objState -> Prelude.IO Com.GUID) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Com.GUID -> Prelude.IO Int.Int32 prim_get_Platform get_Platform_meth iptr out_pguidPlatform = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> get_Platform_meth obj Prelude.>>= \ res__pguidPlatform -> Com.marshallGUID res__pguidPlatform Prelude.>>= \ res__pguidPlatform -> ComPrim.primCopyGUID (Foreign.ForeignPtr.castForeignPtr res__pguidPlatform) (Foreign.Ptr.castPtr out_pguidPlatform)) prim_get_IsPackaged :: (objState -> Prelude.IO Wtypes.BOOL) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 prim_get_IsPackaged get_IsPackaged_meth iptr out_pfIsPackaged = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> get_IsPackaged_meth obj Prelude.>>= \ res__pfIsPackaged -> HDirect.writeInt32 out_pfIsPackaged res__pfIsPackaged) prim_get_IsSpecifyingOutputSupported :: (objState -> Prelude.IO Wtypes.BOOL) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 prim_get_IsSpecifyingOutputSupported get_IsSpecifyingOutputSupported_meth iptr out_pfIsSpecifyingOutputSupported = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> get_IsSpecifyingOutputSupported_meth obj Prelude.>>= \ res__pfIsSpecifyingOutputSupported -> HDirect.writeInt32 out_pfIsSpecifyingOutputSupported res__pfIsSpecifyingOutputSupported) prim_get_TargetCodePage :: (objState -> Prelude.IO Wtypes.UINT) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Word.Word32 -> Prelude.IO Int.Int32 prim_get_TargetCodePage get_TargetCodePage_meth iptr out_puiTargetCodePage = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> get_TargetCodePage_meth obj Prelude.>>= \ res__puiTargetCodePage -> HDirect.writeWord32 out_puiTargetCodePage res__puiTargetCodePage) prim_get_UpdateSequenceNumber :: (objState -> Prelude.IO Wtypes.UINT) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Word.Word32 -> Prelude.IO Int.Int32 prim_get_UpdateSequenceNumber get_UpdateSequenceNumber_meth iptr out_puliUSN = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> get_UpdateSequenceNumber_meth obj Prelude.>>= \ res__puliUSN -> HDirect.writeWord32 out_puliUSN res__puliUSN) prim_get_RootURL :: (objState -> Prelude.IO Prelude.String) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Int.Int32 prim_get_RootURL get_RootURL_meth iptr out_pbstrRootURL = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> get_RootURL_meth obj Prelude.>>= \ res__pbstrRootURL -> Com.marshallBSTR res__pbstrRootURL Prelude.>>= \ res__pbstrRootURL -> HDirect.writePtr (Foreign.Ptr.castPtr out_pbstrRootURL) res__pbstrRootURL) -- -------------------------------------------------- -- -- interface IVsBuildableProjectCfg -- -- -------------------------------------------------- mkIVsBuildableProjectCfg_vtbl :: (objState -> Prelude.IO (IVsProjectCfg ())) -> (IVsBuildStatusCallback a0 -> objState -> Prelude.IO VsTypes.VSCOOKIE) -> (VsTypes.VSCOOKIE -> objState -> Prelude.IO ()) -> (IVsOutputWindowPane a0 -> Wtypes.DWORD -> objState -> Prelude.IO ()) -> (IVsOutputWindowPane a0 -> Wtypes.DWORD -> objState -> Prelude.IO ()) -> (IVsOutputWindowPane a0 -> Wtypes.DWORD -> objState -> Prelude.IO ()) -> (objState -> Prelude.IO Wtypes.BOOL) -> (Wtypes.BOOL -> objState -> Prelude.IO ()) -> (Wtypes.DWORD -> Wtypes.BOOL -> objState -> Prelude.IO ()) -> (Wtypes.DWORD -> objState -> Prelude.IO (Wtypes.BOOL, Wtypes.BOOL)) -> (Wtypes.DWORD -> objState -> Prelude.IO (Wtypes.BOOL, Wtypes.BOOL)) -> (Wtypes.DWORD -> objState -> Prelude.IO (Wtypes.BOOL, Wtypes.BOOL)) -> Prelude.IO (ComServ.ComVTable (IVsBuildableProjectCfg ()) objState) mkIVsBuildableProjectCfg_vtbl get_ProjectCfg adviseBuildStatusCallback unadviseBuildStatusCallback startBuild startClean startUpToDateCheck queryStatus stop wait queryStartBuild queryStartClean queryStartUpToDateCheck = do meth_arg0 <- export_get_ProjectCfg (prim_get_ProjectCfg get_ProjectCfg) meth_arg1 <- export_adviseBuildStatusCallback (prim_adviseBuildStatusCallback adviseBuildStatusCallback) meth_arg2 <- export_unadviseHierarchyEvents (prim_unadviseBuildStatusCallback unadviseBuildStatusCallback) meth_arg3 <- export_startBuild (prim_startBuild startBuild) meth_arg4 <- export_startBuild (prim_startClean startClean) meth_arg5 <- export_startBuild (prim_startUpToDateCheck startUpToDateCheck) meth_arg6 <- export_isOnScreen (prim_queryStatus queryStatus) meth_arg7 <- export_closeFrame (prim_stop stop) meth_arg8 <- export_wait (prim_wait wait) meth_arg9 <- export_queryStartBuild (prim_queryStartBuild queryStartBuild) meth_arg10 <- export_queryStartBuild (prim_queryStartClean queryStartClean) meth_arg11 <- export_queryStartBuild (prim_queryStartUpToDateCheck queryStartUpToDateCheck) ComServ.createComVTable [ meth_arg0 , meth_arg1 , meth_arg2 , meth_arg3 , meth_arg4 , meth_arg5 , meth_arg6 , meth_arg7 , meth_arg8 , meth_arg9 , meth_arg10 , meth_arg11 ] foreign import stdcall "wrapper" export_get_ProjectCfg :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IVsProjectCfg a0)) -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_adviseBuildStatusCallback :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (Com.IUnknown a0) -> Foreign.Ptr.Ptr Word.Word32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_startBuild :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (Com.IUnknown a0) -> Word.Word32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_wait :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Int.Int32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_queryStartBuild :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Foreign.Ptr.Ptr Int.Int32 -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) prim_get_ProjectCfg :: (objState -> Prelude.IO (IVsProjectCfg ())) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IVsProjectCfg ())) -> Prelude.IO Int.Int32 prim_get_ProjectCfg get_ProjectCfg_meth iptr out_ppIVsProjectCfg = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> get_ProjectCfg_meth obj Prelude.>>= \ res__ppIVsProjectCfg -> Com.marshallIUnknown res__ppIVsProjectCfg Prelude.>>= \ res__ppIVsProjectCfg -> Foreign.poke (Foreign.Ptr.castPtr out_ppIVsProjectCfg) res__ppIVsProjectCfg) prim_adviseBuildStatusCallback :: (IVsBuildStatusCallback a0 -> objState -> Prelude.IO VsTypes.VSCOOKIE) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (IVsBuildStatusCallback ()) -> Foreign.Ptr.Ptr Word.Word32 -> Prelude.IO Int.Int32 prim_adviseBuildStatusCallback adviseBuildStatusCallback_meth iptr pIVsBuildStatusCallback out_pdwCookie = Com.returnHR (Com.unmarshallIUnknown Prelude.True pIVsBuildStatusCallback Prelude.>>= \ pIVsBuildStatusCallback -> ComServ.getObjState iptr Prelude.>>= \ obj -> adviseBuildStatusCallback_meth pIVsBuildStatusCallback obj Prelude.>>= \ res__pdwCookie -> HDirect.writeWord32 out_pdwCookie res__pdwCookie) prim_unadviseBuildStatusCallback :: (VsTypes.VSCOOKIE -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Prelude.IO Int.Int32 prim_unadviseBuildStatusCallback unadviseBuildStatusCallback_meth iptr dwCookie = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> unadviseBuildStatusCallback_meth dwCookie obj) prim_startBuild :: (IVsOutputWindowPane a0 -> Wtypes.DWORD -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (IVsOutputWindowPane ()) -> Word.Word32 -> Prelude.IO Int.Int32 prim_startBuild startBuild_meth iptr pIVsOutputWindowPane dwOptions = Com.returnHR (Com.unmarshallIUnknown Prelude.True pIVsOutputWindowPane Prelude.>>= \ pIVsOutputWindowPane -> ComServ.getObjState iptr Prelude.>>= \ obj -> startBuild_meth pIVsOutputWindowPane dwOptions obj) prim_startClean :: (IVsOutputWindowPane a0 -> Wtypes.DWORD -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (IVsOutputWindowPane ()) -> Word.Word32 -> Prelude.IO Int.Int32 prim_startClean startClean_meth iptr pIVsOutputWindowPane dwOptions = Com.returnHR (Com.unmarshallIUnknown Prelude.True pIVsOutputWindowPane Prelude.>>= \ pIVsOutputWindowPane -> ComServ.getObjState iptr Prelude.>>= \ obj -> startClean_meth pIVsOutputWindowPane dwOptions obj) prim_startUpToDateCheck :: (IVsOutputWindowPane a0 -> Wtypes.DWORD -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (IVsOutputWindowPane ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Prelude.IO Int.Int32 prim_startUpToDateCheck startUpToDateCheck_meth iptr pIVsOutputWindowPane dwOptions = Com.returnHR (Com.unmarshallIUnknown Prelude.True pIVsOutputWindowPane Prelude.>>= \ pIVsOutputWindowPane -> ComServ.getObjState iptr Prelude.>>= \ obj -> startUpToDateCheck_meth pIVsOutputWindowPane dwOptions obj) prim_queryStatus :: (objState -> Prelude.IO Wtypes.BOOL) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 prim_queryStatus queryStatus_meth iptr out_pfBuildDone = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> queryStatus_meth obj Prelude.>>= \ res__pfBuildDone -> HDirect.writeInt32 out_pfBuildDone res__pfBuildDone) prim_stop :: (Wtypes.BOOL -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Int.Int32 -> Prelude.IO Int.Int32 prim_stop stop_meth iptr fSync = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> stop_meth fSync obj) prim_wait :: (Wtypes.DWORD -> Wtypes.BOOL -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Int.Int32 -> Prelude.IO Int.Int32 prim_wait wait_meth iptr dwMilliseconds fTickWhenMessageQNotEmpty = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> wait_meth dwMilliseconds fTickWhenMessageQNotEmpty obj) prim_queryStartBuild :: (Wtypes.DWORD -> objState -> Prelude.IO (Wtypes.BOOL, Wtypes.BOOL)) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Foreign.Ptr.Ptr Int.Int32 -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 prim_queryStartBuild queryStartBuild_meth iptr dwOptions out_pfSupported out_pfReady = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> queryStartBuild_meth dwOptions obj Prelude.>>= \ (res__pfSupported, res__pfReady) -> when (out_pfSupported Prelude./= Foreign.Ptr.nullPtr) (HDirect.writeInt32 out_pfSupported res__pfSupported) Prelude.>> when (out_pfReady Prelude./= Foreign.Ptr.nullPtr) (HDirect.writeInt32 out_pfReady res__pfReady)) prim_queryStartClean :: (Wtypes.DWORD -> objState -> Prelude.IO (Wtypes.BOOL, Wtypes.BOOL)) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Foreign.Ptr.Ptr Int.Int32 -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 prim_queryStartClean queryStartClean_meth iptr dwOptions out_pfSupported out_pfReady = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> queryStartClean_meth dwOptions obj Prelude.>>= \ (res__pfSupported, res__pfReady) -> when (out_pfSupported Prelude./= Foreign.Ptr.nullPtr) (HDirect.writeInt32 out_pfSupported res__pfSupported) Prelude.>> when (out_pfReady Prelude./= Foreign.Ptr.nullPtr) (HDirect.writeInt32 out_pfReady res__pfReady)) prim_queryStartUpToDateCheck :: (Wtypes.DWORD -> objState -> Prelude.IO (Wtypes.BOOL, Wtypes.BOOL)) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Foreign.Ptr.Ptr Int.Int32 -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 prim_queryStartUpToDateCheck queryStartUpToDateCheck_meth iptr dwOptions out_pfSupported out_pfReady = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> queryStartUpToDateCheck_meth dwOptions obj Prelude.>>= \ (res__pfSupported, res__pfReady) -> when (out_pfSupported Prelude./= Foreign.Ptr.nullPtr) (HDirect.writeInt32 out_pfSupported res__pfSupported) Prelude.>> when (out_pfReady Prelude./= Foreign.Ptr.nullPtr) (HDirect.writeInt32 out_pfReady res__pfReady)) -- -------------------------------------------------- -- -- interface IVsDebuggableProjectCfg -- -- -------------------------------------------------- mkIVsDebuggableProjectCfg_vtbl :: (objState -> Prelude.IO Prelude.String) -> (objState -> Prelude.IO Wtypes.BOOL) -> (objState -> Prelude.IO Wtypes.BOOL) -> (objState -> Prelude.IO (Com.IUnknown ())) -> (Wtypes.LPCOLESTR -> objState -> Prelude.IO (Com.IUnknown ())) -> (objState -> Prelude.IO (Com.IUnknown ())) -> (objState -> Prelude.IO (IVsBuildableProjectCfg ())) -> (objState -> Prelude.IO Prelude.String) -> (objState -> Prelude.IO Com.GUID) -> (objState -> Prelude.IO Wtypes.BOOL) -> (objState -> Prelude.IO Wtypes.BOOL) -> (objState -> Prelude.IO Wtypes.UINT) -> (objState -> Prelude.IO Wtypes.UINT) -> (objState -> Prelude.IO Prelude.String) -> (VSDBGLAUNCHFLAGS -> objState -> Prelude.IO ()) -> (VSDBGLAUNCHFLAGS -> objState -> Prelude.IO Wtypes.BOOL) -> Prelude.IO (ComServ.ComVTable (IVsDebuggableProjectCfg ()) objState) mkIVsDebuggableProjectCfg_vtbl get_DisplayName get_IsDebugOnly get_IsReleaseOnly enumOutputs openOutput get_ProjectCfgProvider get_BuildableProjectCfg get_CanonicalName get_Platform get_IsPackaged get_IsSpecifyingOutputSupported get_TargetCodePage get_UpdateSequenceNumber get_RootURL debugLaunch queryDebugLaunch = do meth_arg0 <- export_get_DisplayName (prim_get_DisplayName get_DisplayName) meth_arg1 <- export_isOnScreen (prim_get_IsDebugOnly get_IsDebugOnly) meth_arg2 <- export_isOnScreen (prim_get_IsReleaseOnly get_IsReleaseOnly) meth_arg3 <- export_enumOutputs (prim_enumOutputs enumOutputs) meth_arg4 <- export_openOutput (prim_openOutput openOutput) meth_arg5 <- export_enumOutputs (prim_get_ProjectCfgProvider get_ProjectCfgProvider) meth_arg6 <- export_get_BuildableProjectCfg (prim_get_BuildableProjectCfg get_BuildableProjectCfg) meth_arg7 <- export_get_DisplayName (prim_get_CanonicalName get_CanonicalName) meth_arg8 <- export_get_Platform (prim_get_Platform get_Platform) meth_arg9 <- export_isOnScreen (prim_get_IsPackaged get_IsPackaged) meth_arg10 <- export_isOnScreen (prim_get_IsSpecifyingOutputSupported get_IsSpecifyingOutputSupported) meth_arg11 <- export_get_TargetCodePage (prim_get_TargetCodePage get_TargetCodePage) meth_arg12 <- export_get_TargetCodePage (prim_get_UpdateSequenceNumber get_UpdateSequenceNumber) meth_arg13 <- export_get_DisplayName (prim_get_RootURL get_RootURL) meth_arg14 <- export_closeFrame (prim_debugLaunch debugLaunch) meth_arg15 <- export_queryDebugLaunch (prim_queryDebugLaunch queryDebugLaunch) ComServ.createComVTable [ meth_arg0 , meth_arg1 , meth_arg2 , meth_arg3 , meth_arg4 , meth_arg5 , meth_arg6 , meth_arg7 , meth_arg8 , meth_arg9 , meth_arg10 , meth_arg11 , meth_arg12 , meth_arg13 , meth_arg14 , meth_arg15 ] foreign import stdcall "wrapper" export_queryDebugLaunch :: (Foreign.Ptr.Ptr a -> Int.Int32 -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) prim_debugLaunch :: (VSDBGLAUNCHFLAGS -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Int.Int32 -> Prelude.IO Int.Int32 prim_debugLaunch debugLaunch_meth iptr grfLaunch = Com.returnHR (HDirect.unmarshallEnum32 grfLaunch Prelude.>>= \ grfLaunch -> ComServ.getObjState iptr Prelude.>>= \ obj -> debugLaunch_meth grfLaunch obj) prim_queryDebugLaunch :: (VSDBGLAUNCHFLAGS -> objState -> Prelude.IO Wtypes.BOOL) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Int.Int32 -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 prim_queryDebugLaunch queryDebugLaunch_meth iptr grfLaunch out_pfCanLaunch = Com.returnHR (HDirect.unmarshallEnum32 grfLaunch Prelude.>>= \ grfLaunch -> ComServ.getObjState iptr Prelude.>>= \ obj -> queryDebugLaunch_meth grfLaunch obj Prelude.>>= \ res__pfCanLaunch -> HDirect.writeInt32 out_pfCanLaunch res__pfCanLaunch) -- -------------------------------------------------- -- -- interface IVsGetCfgProvider -- -- -------------------------------------------------- mkIVsGetCfgProvider_vtbl :: (objState -> Prelude.IO (IVsCfgProvider ())) -> Prelude.IO (ComServ.ComVTable (IVsGetCfgProvider ()) objState) mkIVsGetCfgProvider_vtbl getCfgProvider = do meth_arg0 <- export_getCfgProvider (prim_getCfgProvider getCfgProvider) ComServ.createComVTable [meth_arg0] foreign import stdcall "wrapper" export_getCfgProvider :: (Foreign.Ptr.Ptr (Com.IUnknown a) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IVsCfgProvider a)) -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) prim_getCfgProvider :: (objState -> Prelude.IO (IVsCfgProvider ())) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IVsCfgProvider ())) -> Prelude.IO Int.Int32 prim_getCfgProvider getCfgProvider_meth iptr out_ppCfgProvider = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> getCfgProvider_meth obj Prelude.>>= \ res__ppCfgProvider -> Com.writeIUnknown Prelude.False out_ppCfgProvider res__ppCfgProvider) -- -------------------------------------------------- -- -- interface IVsCfgProvider -- -- -------------------------------------------------- mkIVsCfgProvider_vtbl :: (Word.Word32 -> objState -> Prelude.IO ([IVsCfg a0], Wtypes.ULONG, Wtypes.DWORD)) -> Prelude.IO (ComServ.ComVTable (IVsCfgProvider ()) objState) mkIVsCfgProvider_vtbl getCfgs = do meth_arg0 <- export_getCfgs (prim_getCfgs getCfgs) ComServ.createComVTable [meth_arg0] foreign import stdcall "wrapper" export_getCfgs :: (Foreign.Ptr.Ptr a -> Word.Word32 -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IVsCfg a0)) -> Foreign.Ptr.Ptr Word.Word32 -> Foreign.Ptr.Ptr Word.Word32 -> Prelude.IO Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) prim_getCfgs :: (Word.Word32 -> objState -> Prelude.IO ([IVsCfg a0], Wtypes.ULONG, Wtypes.DWORD)) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Word.Word32 -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IVsCfg ())) -> Foreign.Ptr.Ptr Word.Word32 -> Foreign.Ptr.Ptr Word.Word32 -> Prelude.IO Int.Int32 prim_getCfgs getCfgs_meth iptr celt rgpcfg out_pcActual out_prgfFlags = Com.returnHR (HDirect.unmarshallWord32 celt Prelude.>>= \ celt -> ComServ.getObjState iptr Prelude.>>= \ obj -> getCfgs_meth celt obj Prelude.>>= \ (res__rgpcfg, res__pcActual, res__prgfFlags) -> let res__celt = (Prelude.fromIntegral (Prelude.length res__rgpcfg) :: Word.Word32) in when (celt Prelude.>= res__celt) (HDirect.writelist Prelude.False HDirect.sizeofForeignPtr (\p -> Com.writeIUnknown Prelude.False (Foreign.Ptr.castPtr p)) (Foreign.Ptr.castPtr rgpcfg) res__rgpcfg) Prelude.>> when (out_pcActual Prelude./= Foreign.Ptr.nullPtr) (HDirect.writeWord32 out_pcActual res__pcActual) Prelude.>> when (out_prgfFlags Prelude./= Foreign.Ptr.nullPtr) (HDirect.writeWord32 out_prgfFlags res__prgfFlags))