-- Automatically generated by HaskellDirect (ihc.exe), snapshot 061203 -- Created: 00:30 E. Europe Standard Time, Monday 08 December, 2003 -- Command line: -iidl -fcom idl/VsProject.idl module VsProject ( show , hide , isVisible , showNoActivate , closeFrame , setFramePos , getFramePos , getProperty , setProperty , getGuidProperty , setGuidProperty , queryViewInterface , isOnScreen , IVsWindowFrame , IVsWindowFrame_ , iidIVsWindowFrame , isDocumentInProject , getMkDocument , openItem , getItemContext , generateUniqueItemName , addItem , IVsProject , IVsProject_ , iidIVsProject , removeItem , reopenItem , IVsProject2 , IVsProject2_ , iidIVsProject2 , addItemWithSpecific , openItemWithSpecific , transferItem , IVsProject3 , IVsProject3_ , iidIVsProject3 , canCreateProject , createProject , setSite , close , IVsProjectFactory , IVsProjectFactory_ , iidIVsProjectFactory , setSite0 , getSite , queryClose , close0 , getGuidProperty0 , setGuidProperty0 , getProperty0 , setProperty0 , getNestedHierarchy , getCanonicalName , parseCanonicalName , unused0 , adviseHierarchyEvents , unadviseHierarchyEvents , unused1 , unused2 , unused3 , unused4 , IVsHierarchy , IVsHierarchy_ , iidIVsHierarchy , queryStatusCommand , execCommand , IVsUIHierarchy , IVsUIHierarchy_ , iidIVsUIHierarchy , onItemAdded , onItemsAppended , onItemDeleted , onPropertyChanged , onInvalidateItems , onInvalidateIcon , IVsHierarchyEvents , IVsHierarchyEvents_ , iidIVsHierarchyEvents , VSDELETEITEMOPERATION(..) , queryDeleteItem , deleteItem , IVsHierarchyDeleteHandler , IVsHierarchyDeleteHandler_ , iidIVsHierarchyDeleteHandler , VSSAVEFLAGS(..) , isItemDirty , saveItem , IVsPersistHierarchyItem , IVsPersistHierarchyItem_ , iidIVsPersistHierarchyItem , VSTASKPRIORITY(..) , VSTASKCATEGORY(..) , VSTASKBITMAP(..) , outputString , activate , hide0 , clear , flushToTaskList , outputTaskItemString , outputTaskItemStringEx , getName , setName , outputStringThreadSafe , IVsOutputWindowPane , IVsOutputWindowPane_ , iidIVsOutputWindowPane , IVsCfg , IVsCfg_ , iidIVsCfg , IVsProjectCfg , IVsProjectCfg_ , iidIVsProjectCfg , buildBegin , buildEnd , tick , IVsBuildStatusCallback , IVsBuildStatusCallback_ , iidIVsBuildStatusCallback , IVsBuildableProjectCfg , IVsBuildableProjectCfg_ , iidIVsBuildableProjectCfg , VSDBGLAUNCHFLAGS(..) , IVsDebuggableProjectCfg , IVsDebuggableProjectCfg_ , iidIVsDebuggableProjectCfg , IVsGetCfgProvider , IVsGetCfgProvider_ , iidIVsGetCfgProvider , IVsCfgProvider , IVsCfgProvider_ , iidIVsCfgProvider ) where import Prelude (fromEnum, toEnum) import qualified Prelude import qualified Bits((.&.)) import qualified Maybe(mapMaybe) import qualified Automation (Variant, allocVARIANT, unmarshallVariant, VARIANT, marshallVariant) import qualified Com (IUnknown, IID, mkIID, invokeAndCheck, marshallGUID, GUID, sizeofGUID, unmarshallGUID, marshallIID, readIUnknown, readBSTR, freeBSTR, marshallIUnknown, writeIUnknown, writeBSTR, writeGUID, readGUID, coAlloc) import qualified Foreign.ForeignPtr (withForeignPtr) import qualified Foreign.Ptr (Ptr, nullPtr) import qualified HDirect (marshallEnum32, sizeofInt32, allocBytes, readEnum32, free, doThenFree, writeInt32, readInt32, sizeofForeignPtr, sizeofWord32, readWord32, sizeofPtr, freeref, marshalllist, marshallref, nullFO, marshallMaybe, marshallunique, unmarshallunique, unmarshallWord32, unmarshalllist, Flags(..), pow2Series, orList, addNCastPtr, writeWord32, writeEnum32) import qualified Int (Int32) import qualified ServProv (IServiceProvider) import qualified VsTypes (FRAMECLOSE, VSSETFRAMEPOS, VSFPROPID, VSITEMID, VSDOCUMENTPRIORITY, VSADDITEMOPERATION, VSADDRESULT, VSSPECIFICEDITORFLAGS, VSHPROPID, VSCOOKIE) import qualified WideString (marshallWideString, freeWideString, WideString, writeWideString) import qualified Word (Word32) import qualified Wtypes (REFGUID, BOOL, LPCOLESTR, HWND, DWORD, HICON, LPARAM, LCID, WORD, ULONG) import qualified DocObjProxy (OLECMD, sizeofOLECMD, readOLECMD, writeOLECMD, OLECMDTEXT, sizeofOLECMDTEXT, readOLECMDTEXT, writeOLECMDTEXT) import Debug.Trace(putTraceMsg ) -- -------------------------------------------------- -- -- interface IVsWindowFrame -- -- -------------------------------------------------- data IVsWindowFrame_ a = IVsWindowFrame__ type IVsWindowFrame a = Com.IUnknown (IVsWindowFrame_ a) iidIVsWindowFrame :: Com.IID (IVsWindowFrame ()) iidIVsWindowFrame = Com.mkIID "{11138F8A-38C0-4436-B5A6-2F5EF2C3E242}" show :: IVsWindowFrame a0 -> Prelude.IO () show iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_show methPtr iptr) 3 iptr foreign import stdcall "dynamic" prim_VsProject_show :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Prelude.IO Int.Int32 hide :: IVsWindowFrame a0 -> Prelude.IO () hide iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_show methPtr iptr) 4 iptr isVisible :: IVsWindowFrame a0 -> Prelude.IO () isVisible iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_show methPtr iptr) 5 iptr showNoActivate :: IVsWindowFrame a0 -> Prelude.IO () showNoActivate iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_show methPtr iptr) 6 iptr closeFrame :: VsTypes.FRAMECLOSE -> IVsWindowFrame a0 -> Prelude.IO () closeFrame grfSaveOptions iptr = do grfSaveOptions <- HDirect.marshallEnum32 grfSaveOptions Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_closeFrame methPtr iptr grfSaveOptions) 7 iptr foreign import stdcall "dynamic" prim_VsProject_closeFrame :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Int.Int32 -> Prelude.IO Int.Int32 setFramePos :: VsTypes.VSSETFRAMEPOS -> Wtypes.REFGUID -> Int.Int32 -> Int.Int32 -> Int.Int32 -> Int.Int32 -> IVsWindowFrame a0 -> Prelude.IO () setFramePos dwSFP rguidRelativeTo x y cx cy iptr = do dwSFP <- HDirect.marshallEnum32 dwSFP rguidRelativeTo <- Com.marshallGUID rguidRelativeTo Com.invokeAndCheck (\ methPtr iptr -> Foreign.ForeignPtr.withForeignPtr rguidRelativeTo (\ rguidRelativeTo -> prim_VsProject_setFramePos methPtr iptr dwSFP rguidRelativeTo x y cx cy)) 8 iptr foreign import stdcall "dynamic" prim_VsProject_setFramePos :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Int.Int32 -> Int.Int32 -> Int.Int32 -> Int.Int32 -> Prelude.IO Int.Int32 getFramePos :: IVsWindowFrame a0 -> Prelude.IO (VsTypes.VSSETFRAMEPOS, Com.GUID, Int.Int32, Int.Int32, Int.Int32, Int.Int32) getFramePos iptr = do pdwSFP <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32) pguidRelativeTo <- Com.coAlloc (Prelude.fromIntegral Com.sizeofGUID) px <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32) py <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32) pcx <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32) pcy <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32) Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_getFramePos methPtr iptr pdwSFP pguidRelativeTo px py pcx pcy) 9 iptr pdwSFP <- HDirect.doThenFree HDirect.free HDirect.readEnum32 pdwSFP pguidRelativeTo <- Com.unmarshallGUID Prelude.True pguidRelativeTo px <- HDirect.doThenFree HDirect.free HDirect.readInt32 px py <- HDirect.doThenFree HDirect.free HDirect.readInt32 py pcx <- HDirect.doThenFree HDirect.free HDirect.readInt32 pcx pcy <- HDirect.doThenFree HDirect.free HDirect.readInt32 pcy Prelude.return (pdwSFP, pguidRelativeTo, px, py, pcx, pcy) foreign import stdcall "dynamic" prim_VsProject_getFramePos :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> 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 getProperty :: (Automation.Variant a1) => VsTypes.VSFPROPID -> IVsWindowFrame a0 -> Prelude.IO a1 getProperty propid iptr = do pvar <- Automation.allocVARIANT propid <- HDirect.marshallEnum32 propid Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_getProperty methPtr iptr propid pvar) 10 iptr Automation.unmarshallVariant pvar foreign import stdcall "dynamic" prim_VsProject_getProperty :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Int.Int32 -> Automation.VARIANT -> Prelude.IO Int.Int32 setProperty :: VsTypes.VSFPROPID -> Automation.VARIANT -> IVsWindowFrame a0 -> Prelude.IO () setProperty propid var iptr = do propid <- HDirect.marshallEnum32 propid Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_setProperty methPtr iptr propid var) 11 iptr foreign import stdcall "prim_VsProject_setProperty" prim_VsProject_setProperty :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Int.Int32 -> Automation.VARIANT -> Prelude.IO Int.Int32 getGuidProperty :: VsTypes.VSFPROPID -> IVsWindowFrame a0 -> Prelude.IO Com.GUID getGuidProperty propid iptr = do pguid <- Com.coAlloc (Prelude.fromIntegral Com.sizeofGUID) propid <- HDirect.marshallEnum32 propid Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_getGuidProperty methPtr iptr propid pguid) 12 iptr Com.unmarshallGUID Prelude.True pguid foreign import stdcall "dynamic" prim_VsProject_getGuidProperty :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Prelude.IO Int.Int32 setGuidProperty :: VsTypes.VSFPROPID -> Wtypes.REFGUID -> IVsWindowFrame a0 -> Prelude.IO () setGuidProperty propid rguid iptr = do propid <- HDirect.marshallEnum32 propid rguid <- Com.marshallGUID rguid Com.invokeAndCheck (\ methPtr iptr -> Foreign.ForeignPtr.withForeignPtr rguid (\ rguid -> prim_VsProject_getGuidProperty methPtr iptr propid rguid)) 13 iptr queryViewInterface :: Com.IID (Com.IUnknown i0) -> IVsWindowFrame a0 -> Prelude.IO (Com.IUnknown i0) queryViewInterface riid iptr = do ppv <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofForeignPtr) riid <- Com.marshallIID riid Com.invokeAndCheck (\ methPtr iptr -> Foreign.ForeignPtr.withForeignPtr riid (\ riid -> prim_VsProject_queryViewInterface methPtr iptr riid ppv)) 14 iptr HDirect.doThenFree HDirect.free (Com.readIUnknown Prelude.False) ppv foreign import stdcall "dynamic" prim_VsProject_queryViewInterface :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr (Com.IID (Com.IUnknown i0)) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (Com.IUnknown i0)) -> Prelude.IO Int.Int32 isOnScreen :: IVsWindowFrame a0 -> Prelude.IO Wtypes.BOOL isOnScreen iptr = do pfOnScreen <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32) Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_isOnScreen methPtr iptr pfOnScreen) 15 iptr HDirect.doThenFree HDirect.free HDirect.readInt32 pfOnScreen foreign import stdcall "dynamic" prim_VsProject_isOnScreen :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 -- -------------------------------------------------- -- -- interface IVsProject -- -- -------------------------------------------------- data IVsProject_ a = IVsProject__ type IVsProject a = Com.IUnknown (IVsProject_ a) iidIVsProject :: Com.IID (IVsProject ()) iidIVsProject = Com.mkIID "{CD4028ED-C4D8-44ba-890F-E7FB02A380C6}" isDocumentInProject :: Wtypes.LPCOLESTR -> IVsProject a0 -> Prelude.IO (Wtypes.BOOL, VsTypes.VSDOCUMENTPRIORITY, VsTypes.VSITEMID) isDocumentInProject pszMkDocument iptr = do pfFound <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32) pdwPriority <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32) pitemid <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofWord32) pszMkDocument <- WideString.marshallWideString pszMkDocument Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_isDocumentInProject methPtr iptr pszMkDocument pfFound pdwPriority pitemid) 3 iptr WideString.freeWideString pszMkDocument pfFound <- HDirect.doThenFree HDirect.free HDirect.readInt32 pfFound pdwPriority <- HDirect.doThenFree HDirect.free HDirect.readEnum32 pdwPriority pitemid <- HDirect.doThenFree HDirect.free HDirect.readWord32 pitemid Prelude.return (pfFound, pdwPriority, pitemid) foreign import stdcall "dynamic" prim_VsProject_isDocumentInProject :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Int.Int32 -> Foreign.Ptr.Ptr VsTypes.VSDOCUMENTPRIORITY -> Foreign.Ptr.Ptr Wtypes.DWORD -> Prelude.IO Int.Int32 getMkDocument :: VsTypes.VSITEMID -> IVsProject a0 -> Prelude.IO Prelude.String getMkDocument itemid iptr = do pbstrMkDocument <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofPtr) Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_getMkDocument methPtr iptr itemid pbstrMkDocument) 4 iptr HDirect.doThenFree (HDirect.freeref Com.freeBSTR) Com.readBSTR pbstrMkDocument foreign import stdcall "dynamic" prim_VsProject_getMkDocument :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Word.Word32 -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Int.Int32 openItem :: VsTypes.VSITEMID -> Wtypes.REFGUID -> Com.IUnknown a1 -> IVsProject a0 -> Prelude.IO (IVsWindowFrame ()) openItem itemid rguidLogicalView punkDocDataExisting iptr = do ppWindowFrame <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofForeignPtr) rguidLogicalView <- Com.marshallGUID rguidLogicalView punkDocDataExisting <- Com.marshallIUnknown punkDocDataExisting Com.invokeAndCheck (\ methPtr iptr -> Foreign.ForeignPtr.withForeignPtr rguidLogicalView (\ rguidLogicalView -> prim_VsProject_openItem methPtr iptr itemid rguidLogicalView punkDocDataExisting ppWindowFrame)) 5 iptr HDirect.doThenFree HDirect.free (Com.readIUnknown Prelude.False) ppWindowFrame foreign import stdcall "dynamic" prim_VsProject_openItem :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Word.Word32 -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr (Com.IUnknown a) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IVsWindowFrame a)) -> Prelude.IO Int.Int32 getItemContext :: VsTypes.VSITEMID -> IVsProject a0 -> Prelude.IO (ServProv.IServiceProvider ()) getItemContext itemid iptr = do ppSP <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofForeignPtr) Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_getItemContext methPtr iptr itemid ppSP) 6 iptr HDirect.doThenFree HDirect.free (Com.readIUnknown Prelude.False) ppSP foreign import stdcall "dynamic" prim_VsProject_getItemContext :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Word.Word32 -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (ServProv.IServiceProvider a)) -> Prelude.IO Int.Int32 generateUniqueItemName :: VsTypes.VSITEMID -> Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> IVsProject a0 -> Prelude.IO Prelude.String generateUniqueItemName itemidLoc pszExt pszSuggestedRoot iptr = do pbstrItemName <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofPtr) pszExt <- WideString.marshallWideString pszExt pszSuggestedRoot <- WideString.marshallWideString pszSuggestedRoot Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_generateUniqueItemName methPtr iptr itemidLoc pszExt pszSuggestedRoot pbstrItemName) 7 iptr WideString.freeWideString pszExt WideString.freeWideString pszSuggestedRoot HDirect.doThenFree (HDirect.freeref Com.freeBSTR) Com.readBSTR pbstrItemName foreign import stdcall "dynamic" prim_VsProject_generateUniqueItemName :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Word.Word32 -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Int.Int32 addItem :: VsTypes.VSITEMID -> VsTypes.VSADDITEMOPERATION -> Wtypes.LPCOLESTR -> [Wtypes.LPCOLESTR] -> Wtypes.HWND -> IVsProject a0 -> Prelude.IO VsTypes.VSADDRESULT addItem itemidLoc dwAddItemOperation pszItemName rgpszFilesToOpen hwndDlgOwner iptr = let cFilesToOpen = (Prelude.fromIntegral (Prelude.length rgpszFilesToOpen) :: Word.Word32) in do rgpszFilesToOpen <- HDirect.marshalllist HDirect.sizeofPtr WideString.writeWideString rgpszFilesToOpen pResult <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32) dwAddItemOperation <- HDirect.marshallEnum32 dwAddItemOperation pszItemName <- WideString.marshallWideString pszItemName Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_addItem methPtr iptr itemidLoc dwAddItemOperation pszItemName cFilesToOpen rgpszFilesToOpen hwndDlgOwner pResult) 8 iptr WideString.freeWideString pszItemName HDirect.free rgpszFilesToOpen HDirect.doThenFree HDirect.free HDirect.readEnum32 pResult foreign import stdcall "dynamic" prim_VsProject_addItem :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> 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 -- -------------------------------------------------- -- -- interface IVsProject2 -- -- -------------------------------------------------- data IVsProject2_ a = IVsProject2__ type IVsProject2 a = IVsProject (IVsProject2_ a) iidIVsProject2 :: Com.IID (IVsProject2 ()) iidIVsProject2 = Com.mkIID "{4AF886C3-7796-4c81-A174-4A87080DEE58}" removeItem :: Wtypes.DWORD -> VsTypes.VSITEMID -> IVsProject2 a0 -> Prelude.IO Wtypes.BOOL removeItem dwReserved itemid iptr = do pfResult <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32) Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_removeItem methPtr iptr dwReserved itemid pfResult) 9 iptr HDirect.doThenFree HDirect.free HDirect.readInt32 pfResult foreign import stdcall "dynamic" prim_VsProject_removeItem :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Word.Word32 -> Word.Word32 -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 reopenItem :: VsTypes.VSITEMID -> Wtypes.REFGUID -> Wtypes.LPCOLESTR -> Wtypes.REFGUID -> Com.IUnknown a1 -> IVsProject2 a0 -> Prelude.IO (IVsWindowFrame ()) reopenItem itemid rguidEditorType pszPhysicalView rguidLogicalView punkDocDataExisting iptr = do ppWindowFrame <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofForeignPtr) rguidEditorType <- Com.marshallGUID rguidEditorType pszPhysicalView <- WideString.marshallWideString pszPhysicalView rguidLogicalView <- Com.marshallGUID rguidLogicalView punkDocDataExisting <- Com.marshallIUnknown punkDocDataExisting Com.invokeAndCheck (\ methPtr iptr -> Foreign.ForeignPtr.withForeignPtr rguidEditorType (\ rguidEditorType -> Foreign.ForeignPtr.withForeignPtr rguidLogicalView (\ rguidLogicalView -> prim_VsProject_reopenItem methPtr iptr itemid rguidEditorType pszPhysicalView rguidLogicalView punkDocDataExisting ppWindowFrame))) 10 iptr WideString.freeWideString pszPhysicalView HDirect.doThenFree HDirect.free (Com.readIUnknown Prelude.False) ppWindowFrame foreign import stdcall "dynamic" prim_VsProject_reopenItem :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Word.Word32 -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr (Com.IUnknown a) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IVsWindowFrame a)) -> Prelude.IO Int.Int32 -- -------------------------------------------------- -- -- interface IVsProject3 -- -- -------------------------------------------------- data IVsProject3_ a = IVsProject3__ type IVsProject3 a = IVsProject2 (IVsProject3_ a) iidIVsProject3 :: Com.IID (IVsProject3 ()) iidIVsProject3 = Com.mkIID "{1C11116E-4FF2-4a80-82DC-69F95042E0A4}" addItemWithSpecific :: VsTypes.VSITEMID -> VsTypes.VSADDITEMOPERATION -> Wtypes.LPCOLESTR -> [Wtypes.LPCOLESTR] -> Wtypes.HWND -> VsTypes.VSSPECIFICEDITORFLAGS -> Wtypes.REFGUID -> Wtypes.LPCOLESTR -> Wtypes.REFGUID -> IVsProject3 a0 -> Prelude.IO VsTypes.VSADDRESULT addItemWithSpecific itemidLoc dwAddItemOperation pszItemName rgpszFilesToOpen hwndDlgOwner grfEditorFlags rguidEditorType pszPhysicalView rguidLogicalView iptr = let cFilesToOpen = (Prelude.fromIntegral (Prelude.length rgpszFilesToOpen) :: Word.Word32) in do rgpszFilesToOpen <- HDirect.marshalllist HDirect.sizeofPtr WideString.writeWideString rgpszFilesToOpen pResult <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32) dwAddItemOperation <- HDirect.marshallEnum32 dwAddItemOperation pszItemName <- WideString.marshallWideString pszItemName grfEditorFlags <- HDirect.marshallEnum32 grfEditorFlags rguidEditorType <- Com.marshallGUID rguidEditorType pszPhysicalView <- WideString.marshallWideString pszPhysicalView rguidLogicalView <- Com.marshallGUID rguidLogicalView Com.invokeAndCheck (\ methPtr iptr -> Foreign.ForeignPtr.withForeignPtr rguidEditorType (\ rguidEditorType -> Foreign.ForeignPtr.withForeignPtr rguidLogicalView (\ rguidLogicalView -> prim_VsProject_addItemWithSpecific methPtr iptr itemidLoc dwAddItemOperation pszItemName cFilesToOpen rgpszFilesToOpen hwndDlgOwner grfEditorFlags rguidEditorType pszPhysicalView rguidLogicalView pResult))) 11 iptr WideString.freeWideString pszItemName HDirect.free rgpszFilesToOpen WideString.freeWideString pszPhysicalView HDirect.doThenFree HDirect.free HDirect.readEnum32 pResult foreign import stdcall "dynamic" prim_VsProject_addItemWithSpecific :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> 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 openItemWithSpecific :: VsTypes.VSITEMID -> VsTypes.VSSPECIFICEDITORFLAGS -> Wtypes.REFGUID -> Wtypes.LPCOLESTR -> Wtypes.REFGUID -> Com.IUnknown a1 -> IVsProject3 a0 -> Prelude.IO (IVsWindowFrame ()) openItemWithSpecific itemid grfEditorFlags rguidEditorType pszPhysicalView rguidLogicalView punkDocDataExisting iptr = do ppWindowFrame <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofForeignPtr) grfEditorFlags <- HDirect.marshallEnum32 grfEditorFlags rguidEditorType <- Com.marshallGUID rguidEditorType pszPhysicalView <- WideString.marshallWideString pszPhysicalView rguidLogicalView <- Com.marshallGUID rguidLogicalView punkDocDataExisting <- Com.marshallIUnknown punkDocDataExisting Com.invokeAndCheck (\ methPtr iptr -> Foreign.ForeignPtr.withForeignPtr rguidEditorType (\ rguidEditorType -> Foreign.ForeignPtr.withForeignPtr rguidLogicalView (\ rguidLogicalView -> prim_VsProject_openItemWithSpecific methPtr iptr itemid grfEditorFlags rguidEditorType pszPhysicalView rguidLogicalView punkDocDataExisting ppWindowFrame))) 12 iptr WideString.freeWideString pszPhysicalView HDirect.doThenFree HDirect.free (Com.readIUnknown Prelude.False) ppWindowFrame foreign import stdcall "dynamic" prim_VsProject_openItemWithSpecific :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Word.Word32 -> Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr (Com.IUnknown a) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IVsWindowFrame a)) -> Prelude.IO Int.Int32 transferItem :: Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> IVsWindowFrame a1 -> IVsProject3 a0 -> Prelude.IO () transferItem pszMkDocumentOld pszMkDocumentNew punkWindowFrame iptr = do pszMkDocumentOld <- WideString.marshallWideString pszMkDocumentOld pszMkDocumentNew <- WideString.marshallWideString pszMkDocumentNew punkWindowFrame <- Com.marshallIUnknown punkWindowFrame Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_transferItem methPtr iptr pszMkDocumentOld pszMkDocumentNew punkWindowFrame) 13 iptr WideString.freeWideString pszMkDocumentOld WideString.freeWideString pszMkDocumentNew foreign import stdcall "dynamic" prim_VsProject_transferItem :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr (IVsWindowFrame a) -> Prelude.IO Int.Int32 -- -------------------------------------------------- -- -- interface IVsProjectFactory -- -- -------------------------------------------------- data IVsProjectFactory_ a = IVsProjectFactory__ type IVsProjectFactory a = Com.IUnknown (IVsProjectFactory_ a) iidIVsProjectFactory :: Com.IID (IVsProjectFactory ()) iidIVsProjectFactory = Com.mkIID "{33FCD00A-BD45-403c-9C66-07BA9A923501}" canCreateProject :: Wtypes.LPCOLESTR -> Wtypes.DWORD -> IVsProjectFactory a0 -> Prelude.IO Wtypes.BOOL canCreateProject pszFilename grfCreateFlags iptr = do pfCanCreate <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32) pszFilename <- WideString.marshallWideString pszFilename grfCreateFlags <- HDirect.marshallEnum32 grfCreateFlags Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_canCreateProject methPtr iptr pszFilename grfCreateFlags pfCanCreate) 3 iptr WideString.freeWideString pszFilename HDirect.doThenFree HDirect.free HDirect.readInt32 pfCanCreate foreign import stdcall "dynamic" prim_VsProject_canCreateProject :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr WideString.WideString -> Int.Int32 -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 createProject :: Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> Wtypes.DWORD -> Com.IID (Com.IUnknown i0) -> IVsProjectFactory a0 -> Prelude.IO (Com.IUnknown i0, Wtypes.BOOL) createProject pszFilename pszLocation pszName grfCreateFlags iidProject iptr = do ppvProject <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofForeignPtr) pfCanceled <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32) pszFilename <- WideString.marshallWideString pszFilename pszLocation <- WideString.marshallWideString pszLocation pszName <- WideString.marshallWideString pszName grfCreateFlags <- HDirect.marshallEnum32 grfCreateFlags iidProject <- Com.marshallIID iidProject Com.invokeAndCheck (\ methPtr iptr -> Foreign.ForeignPtr.withForeignPtr iidProject (\ iidProject -> prim_VsProject_createProject methPtr iptr pszFilename pszLocation pszName grfCreateFlags iidProject ppvProject pfCanceled)) 4 iptr WideString.freeWideString pszFilename WideString.freeWideString pszLocation WideString.freeWideString pszName ppvProject <- HDirect.doThenFree HDirect.free (Com.readIUnknown Prelude.False) ppvProject pfCanceled <- HDirect.doThenFree HDirect.free HDirect.readInt32 pfCanceled Prelude.return (ppvProject, pfCanceled) foreign import stdcall "dynamic" prim_VsProject_createProject :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> 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 setSite :: ServProv.IServiceProvider a1 -> IVsProjectFactory a0 -> Prelude.IO () setSite pSP iptr = do pSP <- Com.marshallIUnknown pSP Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_setSite methPtr iptr pSP) 5 iptr foreign import stdcall "dynamic" prim_VsProject_setSite :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr (ServProv.IServiceProvider a) -> Prelude.IO Int.Int32 close :: IVsProjectFactory a0 -> Prelude.IO () close iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_show methPtr iptr) 6 iptr -- -------------------------------------------------- -- -- interface IVsHierarchy -- -- -------------------------------------------------- data IVsHierarchy_ a = IVsHierarchy__ type IVsHierarchy a = Com.IUnknown (IVsHierarchy_ a) iidIVsHierarchy :: Com.IID (IVsHierarchy ()) iidIVsHierarchy = Com.mkIID "{59B2D1D0-5DB0-4f9f-9609-13F0168516D6}" setSite0 :: ServProv.IServiceProvider a1 -> IVsHierarchy a0 -> Prelude.IO () setSite0 pSP iptr = do pSP <- Com.marshallIUnknown pSP Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_setSite methPtr iptr pSP) 3 iptr getSite :: IVsHierarchy a0 -> Prelude.IO (ServProv.IServiceProvider ()) getSite iptr = do ppSP <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofForeignPtr) Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_getSite methPtr iptr ppSP) 4 iptr HDirect.doThenFree HDirect.free (Com.readIUnknown Prelude.False) ppSP foreign import stdcall "dynamic" prim_VsProject_getSite :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (ServProv.IServiceProvider a)) -> Prelude.IO Int.Int32 queryClose :: IVsHierarchy a0 -> Prelude.IO Wtypes.BOOL queryClose iptr = do pfCanClose <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32) Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_isOnScreen methPtr iptr pfCanClose) 5 iptr HDirect.doThenFree HDirect.free HDirect.readInt32 pfCanClose close0 :: IVsHierarchy a0 -> Prelude.IO () close0 iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_show methPtr iptr) 6 iptr getGuidProperty0 :: VsTypes.VSITEMID -> VsTypes.VSHPROPID -> IVsHierarchy a0 -> Prelude.IO Com.GUID getGuidProperty0 itemid propid iptr = do pguid <- Com.coAlloc (Prelude.fromIntegral Com.sizeofGUID) propid <- HDirect.marshallEnum32 propid Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_getGuidProperty0 methPtr iptr itemid propid pguid) 7 iptr Com.unmarshallGUID Prelude.True pguid foreign import stdcall "dynamic" prim_VsProject_getGuidProperty0 :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Word.Word32 -> Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Prelude.IO Int.Int32 setGuidProperty0 :: VsTypes.VSITEMID -> VsTypes.VSHPROPID -> Wtypes.REFGUID -> IVsHierarchy a0 -> Prelude.IO () setGuidProperty0 itemid propid rguid iptr = do propid <- HDirect.marshallEnum32 propid rguid <- Com.marshallGUID rguid Com.invokeAndCheck (\ methPtr iptr -> Foreign.ForeignPtr.withForeignPtr rguid (\ rguid -> prim_VsProject_getGuidProperty0 methPtr iptr itemid propid rguid)) 8 iptr getProperty0 :: (Automation.Variant a1) => VsTypes.VSITEMID -> VsTypes.VSHPROPID -> IVsHierarchy a0 -> Prelude.IO a1 getProperty0 itemid propid iptr = do pvar <- Automation.allocVARIANT propid <- HDirect.marshallEnum32 propid Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_getProperty0 methPtr iptr itemid propid pvar) 9 iptr Automation.unmarshallVariant pvar foreign import stdcall "dynamic" prim_VsProject_getProperty0 :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Word.Word32 -> Int.Int32 -> Automation.VARIANT -> Prelude.IO Int.Int32 setProperty0 :: (Automation.Variant a1) => VsTypes.VSITEMID -> VsTypes.VSHPROPID -> a1 -> IVsHierarchy a0 -> Prelude.IO () setProperty0 itemid propid var iptr = do propid <- HDirect.marshallEnum32 propid var <- Automation.marshallVariant var Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_setProperty0 methPtr iptr itemid propid var) 10 iptr foreign import stdcall "prim_VsProject_setProperty0" prim_VsProject_setProperty0 :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Word.Word32 -> Int.Int32 -> Automation.VARIANT -> Prelude.IO Int.Int32 getNestedHierarchy :: VsTypes.VSITEMID -> Com.IID (Com.IUnknown i0) -> IVsHierarchy a0 -> Prelude.IO (Com.IUnknown i0, VsTypes.VSITEMID) getNestedHierarchy itemid iidHierarchyNested iptr = do ppHierarchyNested <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofForeignPtr) pitemidNested <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofWord32) iidHierarchyNested <- Com.marshallIID iidHierarchyNested Com.invokeAndCheck (\ methPtr iptr -> Foreign.ForeignPtr.withForeignPtr iidHierarchyNested (\ iidHierarchyNested -> prim_VsProject_getNestedHierarchy methPtr iptr itemid iidHierarchyNested ppHierarchyNested pitemidNested)) 11 iptr ppHierarchyNested <- HDirect.doThenFree HDirect.free (Com.readIUnknown Prelude.False) ppHierarchyNested pitemidNested <- HDirect.doThenFree HDirect.free HDirect.readWord32 pitemidNested Prelude.return (ppHierarchyNested, pitemidNested) foreign import stdcall "dynamic" prim_VsProject_getNestedHierarchy :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> 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 getCanonicalName :: VsTypes.VSITEMID -> IVsHierarchy a0 -> Prelude.IO Prelude.String getCanonicalName itemid iptr = do pbstrName <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofPtr) Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_getMkDocument methPtr iptr itemid pbstrName) 12 iptr HDirect.doThenFree (HDirect.freeref Com.freeBSTR) Com.readBSTR pbstrName parseCanonicalName :: Wtypes.LPCOLESTR -> IVsHierarchy a0 -> Prelude.IO VsTypes.VSITEMID parseCanonicalName pszName iptr = do pitemid <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofWord32) pszName <- WideString.marshallWideString pszName Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_parseCanonicalName methPtr iptr pszName pitemid) 13 iptr WideString.freeWideString pszName HDirect.doThenFree HDirect.free HDirect.readWord32 pitemid foreign import stdcall "dynamic" prim_VsProject_parseCanonicalName :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Wtypes.DWORD -> Prelude.IO Int.Int32 unused0 :: IVsHierarchy a0 -> Prelude.IO () unused0 iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_show methPtr iptr) 14 iptr adviseHierarchyEvents :: IVsHierarchyEvents a1 -> IVsHierarchy a0 -> Prelude.IO VsTypes.VSCOOKIE adviseHierarchyEvents eventSink iptr = do pdwCookie <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofWord32) pEventSink <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofForeignPtr) Com.writeIUnknown Prelude.False pEventSink eventSink Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_adviseHierarchyEvents methPtr iptr pEventSink pdwCookie) 15 iptr HDirect.free pEventSink HDirect.doThenFree HDirect.free HDirect.readWord32 pdwCookie foreign import stdcall "dynamic" prim_VsProject_adviseHierarchyEvents :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IVsHierarchyEvents a)) -> Foreign.Ptr.Ptr Wtypes.DWORD -> Prelude.IO Int.Int32 unadviseHierarchyEvents :: VsTypes.VSCOOKIE -> IVsHierarchy a0 -> Prelude.IO () unadviseHierarchyEvents dwCookie iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_unadviseHierarchyEvents methPtr iptr dwCookie) 16 iptr foreign import stdcall "dynamic" prim_VsProject_unadviseHierarchyEvents :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Word.Word32 -> Prelude.IO Int.Int32 unused1 :: IVsHierarchy a0 -> Prelude.IO () unused1 iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_show methPtr iptr) 17 iptr unused2 :: IVsHierarchy a0 -> Prelude.IO () unused2 iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_show methPtr iptr) 18 iptr unused3 :: IVsHierarchy a0 -> Prelude.IO () unused3 iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_show methPtr iptr) 19 iptr unused4 :: IVsHierarchy a0 -> Prelude.IO () unused4 iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_show methPtr iptr) 20 iptr -- -------------------------------------------------- -- -- interface IVsUIHierarchy -- -- -------------------------------------------------- data IVsUIHierarchy_ a = IVsUIHierarchy__ type IVsUIHierarchy a = IVsHierarchy (IVsUIHierarchy_ a) iidIVsUIHierarchy :: Com.IID (IVsUIHierarchy ()) iidIVsUIHierarchy = Com.mkIID "{E82609EA-5169-47f4-91D0-6957272CBE9F}" queryStatusCommand :: VsTypes.VSITEMID -> Prelude.Maybe Com.GUID -> [DocObjProxy.OLECMD] -> Prelude.Maybe DocObjProxy.OLECMDTEXT -> IVsUIHierarchy a0 -> Prelude.IO ([DocObjProxy.OLECMD], Prelude.Maybe DocObjProxy.OLECMDTEXT) queryStatusCommand itemid pguidCmdGroup prgCmds pCmdText iptr = let cCmds = (Prelude.fromIntegral (Prelude.length prgCmds) :: Word.Word32) in do prgCmds <- HDirect.marshalllist DocObjProxy.sizeofOLECMD DocObjProxy.writeOLECMD prgCmds pguidCmdGroup <- HDirect.marshallMaybe Com.marshallGUID HDirect.nullFO pguidCmdGroup pCmdText <- HDirect.marshallunique (HDirect.allocBytes (Prelude.fromIntegral DocObjProxy.sizeofOLECMDTEXT)) DocObjProxy.writeOLECMDTEXT pCmdText Com.invokeAndCheck (\ methPtr iptr -> Foreign.ForeignPtr.withForeignPtr pguidCmdGroup (\ pguidCmdGroup -> prim_VsProject_queryStatusCommand methPtr iptr itemid pguidCmdGroup cCmds prgCmds pCmdText)) 21 iptr pCmdText <- HDirect.doThenFree HDirect.free (HDirect.unmarshallunique DocObjProxy.readOLECMDTEXT) pCmdText cCmds <- HDirect.unmarshallWord32 cCmds prgCmds <- HDirect.unmarshalllist DocObjProxy.sizeofOLECMD 0 cCmds DocObjProxy.readOLECMD prgCmds Prelude.return (prgCmds, pCmdText) foreign import stdcall "dynamic" prim_VsProject_queryStatusCommand :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Word.Word32 -> Foreign.Ptr.Ptr Com.GUID -> Word.Word32 -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr ()) -> Foreign.Ptr.Ptr DocObjProxy.OLECMDTEXT -> Prelude.IO Int.Int32 execCommand :: (Automation.Variant a1, Automation.Variant a2, Automation.Variant a3) => VsTypes.VSITEMID -> Prelude.Maybe Com.GUID -> Wtypes.DWORD -> Wtypes.DWORD -> Prelude.Maybe a2 -> Prelude.Maybe a3 -> IVsUIHierarchy a0 -> Prelude.IO (Prelude.Maybe a1) execCommand itemid pguidCmdGroup nCmdID nCmdexecopt pvaIn pvaOut iptr = do pguidCmdGroup <- HDirect.marshallMaybe Com.marshallGUID HDirect.nullFO pguidCmdGroup pvaIn <- HDirect.marshallMaybe Automation.marshallVariant Foreign.Ptr.nullPtr pvaIn pvaOut <- HDirect.marshallMaybe Automation.marshallVariant Foreign.Ptr.nullPtr pvaOut Com.invokeAndCheck (\ methPtr iptr -> Foreign.ForeignPtr.withForeignPtr pguidCmdGroup (\ pguidCmdGroup -> prim_VsProject_execCommand methPtr iptr itemid pguidCmdGroup nCmdID nCmdexecopt pvaIn pvaOut)) 22 iptr HDirect.free pvaIn Automation.unmarshallVariant pvaOut foreign import stdcall "dynamic" prim_VsProject_execCommand :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Word.Word32 -> Foreign.Ptr.Ptr Com.GUID -> Word.Word32 -> Word.Word32 -> Automation.VARIANT -> Automation.VARIANT -> Prelude.IO Int.Int32 -- -------------------------------------------------- -- -- interface IVsHierarchyEvents -- -- -------------------------------------------------- data IVsHierarchyEvents_ a = IVsHierarchyEvents__ type IVsHierarchyEvents a = Com.IUnknown (IVsHierarchyEvents_ a) iidIVsHierarchyEvents :: Com.IID (IVsHierarchyEvents ()) iidIVsHierarchyEvents = Com.mkIID "{6DDD8DC3-32B2-4bf1-A1E1-B6DA40526D1E}" onItemAdded :: VsTypes.VSITEMID -> VsTypes.VSITEMID -> VsTypes.VSITEMID -> IVsHierarchyEvents a0 -> Prelude.IO () onItemAdded itemidParent itemidSiblingPrev itemidAdded iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_onItemAdded methPtr iptr itemidParent itemidSiblingPrev itemidAdded) 3 iptr foreign import stdcall "dynamic" prim_VsProject_onItemAdded :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Word.Word32 -> Word.Word32 -> Word.Word32 -> Prelude.IO Int.Int32 onItemsAppended :: VsTypes.VSITEMID -> IVsHierarchyEvents a0 -> Prelude.IO () onItemsAppended itemidParent iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_unadviseHierarchyEvents methPtr iptr itemidParent) 4 iptr onItemDeleted :: VsTypes.VSITEMID -> IVsHierarchyEvents a0 -> Prelude.IO () onItemDeleted itemid iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_unadviseHierarchyEvents methPtr iptr itemid) 5 iptr onPropertyChanged :: VsTypes.VSITEMID -> VsTypes.VSHPROPID -> Wtypes.DWORD -> IVsHierarchyEvents a0 -> Prelude.IO () onPropertyChanged itemid propid flags iptr = do propid <- HDirect.marshallEnum32 propid Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_onPropertyChanged methPtr iptr itemid propid flags) 6 iptr foreign import stdcall "dynamic" prim_VsProject_onPropertyChanged :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Word.Word32 -> Int.Int32 -> Word.Word32 -> Prelude.IO Int.Int32 onInvalidateItems :: VsTypes.VSITEMID -> IVsHierarchyEvents a0 -> Prelude.IO () onInvalidateItems itemidParent iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_unadviseHierarchyEvents methPtr iptr itemidParent) 7 iptr onInvalidateIcon :: Wtypes.HICON -> IVsHierarchyEvents a0 -> Prelude.IO () onInvalidateIcon hicon iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_onInvalidateIcon methPtr iptr hicon) 8 iptr foreign import stdcall "dynamic" prim_VsProject_onInvalidateIcon :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Prelude.IO Int.Int32 -- -------------------------------------------------- -- -- interface IVsHierarchyDeleteHandler -- -- -------------------------------------------------- data VSDELETEITEMOPERATION = VSDELETEITEMOPERATIONList__ [VSDELETEITEMOPERATION] | DELITEMOP_DeleteFromStorage | DELITEMOP_RemoveFromProject instance HDirect.Flags (VSDELETEITEMOPERATION) where x1 .+. x2 = Prelude.toEnum ((Prelude.fromEnum x1 Prelude.+ Prelude.fromEnum x2)) instance Prelude.Enum (VSDELETEITEMOPERATION) where fromEnum v = case v of (VSDELETEITEMOPERATIONList__ xs) -> HDirect.orList (Prelude.map Prelude.fromEnum xs) DELITEMOP_DeleteFromStorage -> 1 DELITEMOP_RemoveFromProject -> 2 toEnum v = case v of 1 -> DELITEMOP_DeleteFromStorage 2 -> DELITEMOP_RemoveFromProject x -> VSDELETEITEMOPERATIONList__ (Maybe.mapMaybe (\ val -> if ((val Bits..&. Prelude.fromIntegral x) Prelude.== val) then Prelude.Just (Prelude.toEnum (Prelude.fromIntegral val)) else Prelude.Nothing) (HDirect.pow2Series 2 1)) _ -> Prelude.error "unmarshallVSDELETEITEMOPERATION: illegal enum value " data IVsHierarchyDeleteHandler_ a = IVsHierarchyDeleteHandler__ type IVsHierarchyDeleteHandler a = Com.IUnknown (IVsHierarchyDeleteHandler_ a) iidIVsHierarchyDeleteHandler :: Com.IID (IVsHierarchyDeleteHandler ()) iidIVsHierarchyDeleteHandler = Com.mkIID "{320E51F6-D238-4BD0-BA89-CCA91DBCF411}" queryDeleteItem :: VSDELETEITEMOPERATION -> VsTypes.VSITEMID -> IVsHierarchyDeleteHandler a0 -> Prelude.IO Wtypes.BOOL queryDeleteItem dwDelItemOp itemid iptr = do pfCanDelete <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32) dwDelItemOp <- HDirect.marshallEnum32 dwDelItemOp Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_queryDeleteItem methPtr iptr dwDelItemOp itemid pfCanDelete) 3 iptr HDirect.doThenFree HDirect.free HDirect.readInt32 pfCanDelete foreign import stdcall "dynamic" prim_VsProject_queryDeleteItem :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Int.Int32 -> Word.Word32 -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 deleteItem :: VSDELETEITEMOPERATION -> VsTypes.VSITEMID -> IVsHierarchyDeleteHandler a0 -> Prelude.IO () deleteItem dwDelItemOp itemid iptr = do dwDelItemOp <- HDirect.marshallEnum32 dwDelItemOp Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_deleteItem methPtr iptr dwDelItemOp itemid) 4 iptr foreign import stdcall "dynamic" prim_VsProject_deleteItem :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Int.Int32 -> Word.Word32 -> Prelude.IO Int.Int32 data VSSAVEFLAGS = VSSAVE_Save | VSSAVE_SaveAs | VSSAVE_SilentSave | VSSAVE_SaveCopyAs deriving (Prelude.Enum) -- -------------------------------------------------- -- -- interface IVsPersistHierarchyItem -- -- -------------------------------------------------- data IVsPersistHierarchyItem_ a = IVsPersistHierarchyItem__ type IVsPersistHierarchyItem a = Com.IUnknown (IVsPersistHierarchyItem_ a) iidIVsPersistHierarchyItem :: Com.IID (IVsPersistHierarchyItem ()) iidIVsPersistHierarchyItem = Com.mkIID "{18933F6E-0937-4888-8C77-EC8A393B21EA}" isItemDirty :: VsTypes.VSITEMID -> Com.IUnknown a1 -> IVsPersistHierarchyItem a0 -> Prelude.IO Wtypes.BOOL isItemDirty itemid punkDocData iptr = do pfDirty <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32) punkDocData <- Com.marshallIUnknown punkDocData Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_isItemDirty methPtr iptr itemid punkDocData pfDirty) 3 iptr HDirect.doThenFree HDirect.free HDirect.readInt32 pfDirty foreign import stdcall "dynamic" prim_VsProject_isItemDirty :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Word.Word32 -> Foreign.Ptr.Ptr (Com.IUnknown a) -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 saveItem :: VSSAVEFLAGS -> Wtypes.LPCOLESTR -> VsTypes.VSITEMID -> Com.IUnknown a1 -> IVsPersistHierarchyItem a0 -> Prelude.IO Wtypes.BOOL saveItem dwSave pszSilentSaveAsName itemid punkDocData iptr = do pfCanceled <- HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32) dwSave <- HDirect.marshallEnum32 dwSave pszSilentSaveAsName <- WideString.marshallWideString pszSilentSaveAsName punkDocData <- Com.marshallIUnknown punkDocData Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_saveItem methPtr iptr dwSave pszSilentSaveAsName itemid punkDocData pfCanceled) 4 iptr WideString.freeWideString pszSilentSaveAsName HDirect.doThenFree HDirect.free HDirect.readInt32 pfCanceled foreign import stdcall "dynamic" prim_VsProject_saveItem :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Int.Int32 -> Foreign.Ptr.Ptr WideString.WideString -> Word.Word32 -> Foreign.Ptr.Ptr (Com.IUnknown a) -> Foreign.Ptr.Ptr Int.Int32 -> Prelude.IO Int.Int32 data VSTASKPRIORITY = VSTASKPRIORITYList__ [VSTASKPRIORITY] | TP_HIGH | TP_NORMAL | TP_LOW instance HDirect.Flags (VSTASKPRIORITY) where x1 .+. x2 = Prelude.toEnum ((Prelude.fromEnum x1 Prelude.+ Prelude.fromEnum x2)) instance Prelude.Enum (VSTASKPRIORITY) where fromEnum v = case v of (VSTASKPRIORITYList__ xs) -> HDirect.orList (Prelude.map Prelude.fromEnum xs) TP_HIGH -> 0 TP_NORMAL -> 1 TP_LOW -> 2 toEnum v = case v of 0 -> TP_HIGH 1 -> TP_NORMAL 2 -> TP_LOW x -> VSTASKPRIORITYList__ (Maybe.mapMaybe (\ val -> if ((val Bits..&. Prelude.fromIntegral x) Prelude.== val) then Prelude.Just (Prelude.toEnum (Prelude.fromIntegral val)) else Prelude.Nothing) (HDirect.pow2Series 3 0)) _ -> Prelude.error "unmarshallVSTASKPRIORITY: illegal enum value " data VSTASKCATEGORY = CAT_ALL | CAT_BUILDCOMPILE | CAT_COMMENTS | CAT_CODESENSE | CAT_SHORTCUTS | CAT_USER | CAT_MISC | CAT_HTML instance Prelude.Enum (VSTASKCATEGORY) where fromEnum v = case v of CAT_ALL -> 1 CAT_BUILDCOMPILE -> 10 CAT_COMMENTS -> 20 CAT_CODESENSE -> 30 CAT_SHORTCUTS -> 40 CAT_USER -> 50 CAT_MISC -> 60 CAT_HTML -> 70 toEnum v = case v of 1 -> CAT_ALL 10 -> CAT_BUILDCOMPILE 20 -> CAT_COMMENTS 30 -> CAT_CODESENSE 40 -> CAT_SHORTCUTS 50 -> CAT_USER 60 -> CAT_MISC 70 -> CAT_HTML _ -> Prelude.error "unmarshallVSTASKCATEGORY: illegal enum value " data VSTASKBITMAP = BMP_USER | BMP_SHORTCUT | BMP_COMMENT | BMP_SQUIGGLE | BMP_COMPILE instance Prelude.Enum (VSTASKBITMAP) where fromEnum v = case v of BMP_USER -> (-5) BMP_SHORTCUT -> (-4) BMP_COMMENT -> (-3) BMP_SQUIGGLE -> (-2) BMP_COMPILE -> (-1) toEnum v = case v of (-5) -> BMP_USER (-4) -> BMP_SHORTCUT (-3) -> BMP_COMMENT (-2) -> BMP_SQUIGGLE (-1) -> BMP_COMPILE _ -> Prelude.error "unmarshallVSTASKBITMAP: illegal enum value " -- -------------------------------------------------- -- -- interface IVsOutputWindowPane -- -- -------------------------------------------------- data IVsOutputWindowPane_ a = IVsOutputWindowPane__ type IVsOutputWindowPane a = Com.IUnknown (IVsOutputWindowPane_ a) iidIVsOutputWindowPane :: Com.IID (IVsOutputWindowPane ()) iidIVsOutputWindowPane = Com.mkIID "{9B878A55-296A-404D-80C4-1468BB7CDC43}" outputString :: Wtypes.LPCOLESTR -> IVsOutputWindowPane a0 -> Prelude.IO () outputString pszOutputString iptr = do pszOutputString <- WideString.marshallWideString pszOutputString Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_outputString methPtr iptr pszOutputString) 3 iptr WideString.freeWideString pszOutputString foreign import stdcall "dynamic" prim_VsProject_outputString :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr WideString.WideString -> Prelude.IO Int.Int32 activate :: IVsOutputWindowPane a0 -> Prelude.IO () activate iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_show methPtr iptr) 4 iptr hide0 :: IVsOutputWindowPane a0 -> Prelude.IO () hide0 iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_show methPtr iptr) 5 iptr clear :: IVsOutputWindowPane a0 -> Prelude.IO () clear iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_show methPtr iptr) 6 iptr flushToTaskList :: IVsOutputWindowPane a0 -> Prelude.IO () flushToTaskList iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_show methPtr iptr) 7 iptr outputTaskItemString :: Wtypes.LPCOLESTR -> VSTASKPRIORITY -> VSTASKCATEGORY -> Wtypes.LPCOLESTR -> VSTASKBITMAP -> Wtypes.LPCOLESTR -> Wtypes.ULONG -> Wtypes.LPCOLESTR -> IVsOutputWindowPane a0 -> Prelude.IO () outputTaskItemString pszOutputString nPriority nCategory pszSubcategory nBitmap pszFilename nLineNum pszTaskItemText iptr = do pszOutputString <- WideString.marshallWideString pszOutputString nPriority <- HDirect.marshallEnum32 nPriority nCategory <- HDirect.marshallEnum32 nCategory pszSubcategory <- WideString.marshallWideString pszSubcategory nBitmap <- HDirect.marshallEnum32 nBitmap pszFilename <- WideString.marshallWideString pszFilename pszTaskItemText <- WideString.marshallWideString pszTaskItemText Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_outputTaskItemString methPtr iptr pszOutputString nPriority nCategory pszSubcategory nBitmap pszFilename nLineNum pszTaskItemText) 8 iptr WideString.freeWideString pszOutputString WideString.freeWideString pszSubcategory WideString.freeWideString pszFilename WideString.freeWideString pszTaskItemText foreign import stdcall "dynamic" prim_VsProject_outputTaskItemString :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr WideString.WideString -> Int.Int32 -> Int.Int32 -> Foreign.Ptr.Ptr WideString.WideString -> Int.Int32 -> Foreign.Ptr.Ptr WideString.WideString -> Word.Word32 -> Foreign.Ptr.Ptr WideString.WideString -> Prelude.IO Int.Int32 outputTaskItemStringEx :: Wtypes.LPCOLESTR -> VSTASKPRIORITY -> VSTASKCATEGORY -> Wtypes.LPCOLESTR -> VSTASKBITMAP -> Wtypes.LPCOLESTR -> Wtypes.ULONG -> Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> IVsOutputWindowPane a0 -> Prelude.IO () outputTaskItemStringEx pszOutputString nPriority nCategory pszSubcategory nBitmap pszFilename nLineNum pszTaskItemText pszLookupKwd iptr = do pszOutputString <- WideString.marshallWideString pszOutputString nPriority <- HDirect.marshallEnum32 nPriority nCategory <- HDirect.marshallEnum32 nCategory pszSubcategory <- WideString.marshallWideString pszSubcategory nBitmap <- HDirect.marshallEnum32 nBitmap pszFilename <- WideString.marshallWideString pszFilename pszTaskItemText <- WideString.marshallWideString pszTaskItemText pszLookupKwd <- WideString.marshallWideString pszLookupKwd Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_outputTaskItemStringEx methPtr iptr pszOutputString nPriority nCategory pszSubcategory nBitmap pszFilename nLineNum pszTaskItemText pszLookupKwd) 9 iptr WideString.freeWideString pszOutputString WideString.freeWideString pszSubcategory WideString.freeWideString pszFilename WideString.freeWideString pszTaskItemText WideString.freeWideString pszLookupKwd foreign import stdcall "dynamic" prim_VsProject_outputTaskItemStringEx :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr WideString.WideString -> Int.Int32 -> Int.Int32 -> Foreign.Ptr.Ptr WideString.WideString -> Int.Int32 -> Foreign.Ptr.Ptr WideString.WideString -> Word.Word32 -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Prelude.IO Int.Int32 getName :: Prelude.String -> IVsOutputWindowPane a0 -> Prelude.IO () getName pbstrPaneName iptr = do pbstrPaneName <- HDirect.marshallref (HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofPtr)) Com.writeBSTR pbstrPaneName Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_getName methPtr iptr pbstrPaneName) 10 iptr HDirect.freeref Com.freeBSTR pbstrPaneName foreign import stdcall "dynamic" prim_VsProject_getName :: Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr () -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Int.Int32 setName :: Wtypes.LPCOLESTR -> IVsOutputWindowPane a0 -> Prelude.IO () setName pszPaneName iptr = do pszPaneName <- WideString.marshallWideString pszPaneName Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_outputString methPtr iptr pszPaneName) 11 iptr WideString.freeWideString pszPaneName outputStringThreadSafe :: Wtypes.LPCOLESTR -> IVsOutputWindowPane a0 -> Prelude.IO () outputStringThreadSafe pszOutputString iptr = do pszOutputString <- WideString.marshallWideString pszOutputString Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_outputString methPtr iptr pszOutputString) 12 iptr WideString.freeWideString pszOutputString -- -------------------------------------------------- -- -- interface IVsCfg -- -- -------------------------------------------------- data IVsCfg_ a = IVsCfg__ type IVsCfg a = Com.IUnknown (IVsCfg_ a) iidIVsCfg :: Com.IID (IVsCfg ()) iidIVsCfg = Com.mkIID "{B8F932A5-5037-48C9-AB3A-A4ABBA79358B}" -- -------------------------------------------------- -- -- interface IVsProjectCfg -- -- -------------------------------------------------- data IVsProjectCfg_ a = IVsProjectCfg__ type IVsProjectCfg a = IVsCfg (IVsProjectCfg_ a) iidIVsProjectCfg :: Com.IID (IVsProjectCfg ()) iidIVsProjectCfg = Com.mkIID "{2DBDF061-439B-4822-9727-CA3ED918B658}" -- -------------------------------------------------- -- -- interface IVsBuildStatusCallback -- -- -------------------------------------------------- data IVsBuildStatusCallback_ a = IVsBuildStatusCallback__ type IVsBuildStatusCallback a = Com.IUnknown (IVsBuildStatusCallback_ a) iidIVsBuildStatusCallback :: Com.IID (IVsBuildStatusCallback ()) iidIVsBuildStatusCallback = Com.mkIID "{A17326AD-C97B-4278-86E2-72163C4C6A8C}" buildBegin :: Wtypes.BOOL -> IVsBuildStatusCallback a0 -> Prelude.IO Wtypes.BOOL buildBegin pfContinue iptr = do pfContinue <- HDirect.marshallref (HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32)) HDirect.writeInt32 pfContinue Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_isOnScreen methPtr iptr pfContinue) 3 iptr HDirect.doThenFree HDirect.free HDirect.readInt32 pfContinue buildEnd :: Wtypes.BOOL -> IVsBuildStatusCallback a0 -> Prelude.IO () buildEnd fSuccess iptr = Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_closeFrame methPtr iptr fSuccess) 4 iptr tick :: Wtypes.BOOL -> IVsBuildStatusCallback a0 -> Prelude.IO Wtypes.BOOL tick pfContinue iptr = do pfContinue <- HDirect.marshallref (HDirect.allocBytes (Prelude.fromIntegral HDirect.sizeofInt32)) HDirect.writeInt32 pfContinue Com.invokeAndCheck (\ methPtr iptr -> prim_VsProject_isOnScreen methPtr iptr pfContinue) 5 iptr HDirect.doThenFree HDirect.free HDirect.readInt32 pfContinue -- -------------------------------------------------- -- -- interface IVsBuildableProjectCfg -- -- -------------------------------------------------- data IVsBuildableProjectCfg_ a = IVsBuildableProjectCfg__ type IVsBuildableProjectCfg a = Com.IUnknown (IVsBuildableProjectCfg_ a) iidIVsBuildableProjectCfg :: Com.IID (IVsBuildableProjectCfg ()) iidIVsBuildableProjectCfg = Com.mkIID "{8588E475-BB33-4763-B4BA-0322F839AA3C}" data VSDBGLAUNCHFLAGS = VSDBGLAUNCHFLAGSList__ [VSDBGLAUNCHFLAGS] | DBGLAUNCH_Silent | DBGLAUNCH_LocalDeploy | DBGLAUNCH_NoDebug | DBGLAUNCH_DetachOnStop | DBGLAUNCH_Selected | DBGLAUNCH_StopDebuggingOnEnd | DBGLAUNCH_WaitForAttachComplete instance HDirect.Flags (VSDBGLAUNCHFLAGS) where x1 .+. x2 = Prelude.toEnum ((Prelude.fromEnum x1 Prelude.+ Prelude.fromEnum x2)) instance Prelude.Enum (VSDBGLAUNCHFLAGS) where fromEnum v = case v of (VSDBGLAUNCHFLAGSList__ xs) -> HDirect.orList (Prelude.map Prelude.fromEnum xs) DBGLAUNCH_Silent -> 1 DBGLAUNCH_LocalDeploy -> 2 DBGLAUNCH_NoDebug -> 4 DBGLAUNCH_DetachOnStop -> 8 DBGLAUNCH_Selected -> 16 DBGLAUNCH_StopDebuggingOnEnd -> 32 DBGLAUNCH_WaitForAttachComplete -> 64 toEnum v = case v of 1 -> DBGLAUNCH_Silent 2 -> DBGLAUNCH_LocalDeploy 4 -> DBGLAUNCH_NoDebug 8 -> DBGLAUNCH_DetachOnStop 16 -> DBGLAUNCH_Selected 32 -> DBGLAUNCH_StopDebuggingOnEnd 64 -> DBGLAUNCH_WaitForAttachComplete x -> VSDBGLAUNCHFLAGSList__ (Maybe.mapMaybe (\ val -> if ((val Bits..&. Prelude.fromIntegral x) Prelude.== val) then Prelude.Just (Prelude.toEnum (Prelude.fromIntegral val)) else Prelude.Nothing) (HDirect.pow2Series 7 1)) _ -> Prelude.error "unmarshallVSDBGLAUNCHFLAGS: illegal enum value " -- -------------------------------------------------- -- -- interface IVsDebuggableProjectCfg -- -- -------------------------------------------------- data IVsDebuggableProjectCfg_ a = IVsDebuggableProjectCfg__ type IVsDebuggableProjectCfg a = IVsProjectCfg (IVsDebuggableProjectCfg_ a) iidIVsDebuggableProjectCfg :: Com.IID (IVsDebuggableProjectCfg ()) iidIVsDebuggableProjectCfg = Com.mkIID "{2BC88742-618D-46B2-B65D-67AC990E3215}" -- -------------------------------------------------- -- -- interface IVsGetCfgProvider -- -- -------------------------------------------------- data IVsGetCfgProvider_ a = IVsGetCfgProvider__ type IVsGetCfgProvider a = Com.IUnknown (IVsGetCfgProvider_ a) iidIVsGetCfgProvider :: Com.IID (IVsGetCfgProvider ()) iidIVsGetCfgProvider = Com.mkIID "{509D0E4F-A770-44C3-9185-D4F1E4813AD6}" -- -------------------------------------------------- -- -- interface IVsCfgProvider -- -- -------------------------------------------------- data IVsCfgProvider_ a = IVsCfgProvider__ type IVsCfgProvider a = Com.IUnknown (IVsCfgProvider_ a) iidIVsCfgProvider :: Com.IID (IVsCfgProvider ()) iidIVsCfgProvider = Com.mkIID "{EEABD2BE-4F4F-4CCB-86AD-9F469C5C9686}"