-- Automatically generated by HaskellDirect (ihc.exe), snapshot 150305 -- Created: 11:36 GMT Standard Time, Wednesday 30 March, 2005 -- Command line: VsSolution.idl -s module VsSolutionProxy ( mkIEnumHierarchies_vtbl , mkIVsSolution_vtbl , mkIVsSolutionEvents_vtbl ) where import Prelude (fromEnum, toEnum) import qualified Prelude import qualified Automation (VARIANT, marshallVARIANT, unmarshallVARIANT) import qualified Com (IUnknown, IID, mkIID, writeIUnknown, returnHR, marshallIUnknown, GUID, unmarshallGUID, unmarshallIID, marshallBSTR, unmarshallIUnknown, marshallGUID, readIUnknown, writeGUID, writeBSTR) import qualified ComServ (ComVTable, createComVTable, getObjState) import qualified Data.Int (Int32) import qualified Data.Word (Word32) import qualified Foreign.Ptr (Ptr, castPtr) import qualified Foreign.ForeignPtr (castForeignPtr) import qualified HDirect (sizeofForeignPtr, writelist, writefptr, writeWord32, unmarshallEnum32, writePtr, marshallEnum32, writeInt32, sizeofPtr, readInt32) import qualified VsProject (IVsHierarchy, IVsProjectFactory, IVsProject) import qualified VsTypes (VSENUMPROJFLAGS, VSCOOKIE, VSSLNSAVEOPTIONS, VSUPDATEPROJREFREASON, VSHPROPID, VSADDVPFLAGS, VSITEMID, VSPROPID, VSSLNOPENOPTIONS, VSCREATESOLUTIONFLAGS, VSREMOVEVPFLAGS, VSGETPROJFILESFLAGS) import qualified WideString (WideString, unmarshallWideString) import qualified Wtypes (ULONG, REFGUID, LPCOLESTR, DWORD, REFIID, BOOL) import qualified ComPrim(primCopyGUID) import VsSolution -- -------------------------------------------------- -- -- interface IEnumHierarchies -- -- -------------------------------------------------- mkIEnumHierarchies_vtbl :: (Wtypes.ULONG -> objState -> Prelude.IO [VsProject.IVsHierarchy ()]) -> (Wtypes.ULONG -> objState -> Prelude.IO ()) -> (objState -> Prelude.IO ()) -> (objState -> Prelude.IO (IEnumHierarchies ())) -> Prelude.IO (ComServ.ComVTable (IEnumHierarchies ()) objState) mkIEnumHierarchies_vtbl next skip reset clone = do meth_arg0 <- export_next (prim_next next) meth_arg1 <- export_skip (prim_skip skip) meth_arg2 <- export_reset (prim_reset reset) meth_arg3 <- export_clone (prim_clone clone) ComServ.createComVTable [ meth_arg0 , meth_arg1 , meth_arg2 , meth_arg3 ] foreign import stdcall "wrapper" export_next :: (Foreign.Ptr.Ptr a -> Data.Word.Word32 -> Foreign.Ptr.Ptr [VsProject.IVsHierarchy a0] -> Foreign.Ptr.Ptr Data.Word.Word32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_skip :: (Foreign.Ptr.Ptr a -> Data.Word.Word32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_reset :: (Foreign.Ptr.Ptr a -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_clone :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IEnumHierarchies a0)) -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) prim_next :: (Wtypes.ULONG -> objState -> Prelude.IO [VsProject.IVsHierarchy ()]) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Data.Word.Word32 -> Foreign.Ptr.Ptr [VsProject.IVsHierarchy ()] -> Foreign.Ptr.Ptr Data.Word.Word32 -> Prelude.IO Data.Int.Int32 prim_next next_meth iptr celt out_rgelt out_pceltFetched = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> next_meth celt obj Prelude.>>= \ res__rgelt -> let res__pceltFetched = ((Prelude.fromIntegral (Prelude.length res__rgelt) :: Data.Word.Word32)) in HDirect.writelist Prelude.False HDirect.sizeofForeignPtr (\ptr -> Com.writeIUnknown Prelude.False (Foreign.Ptr.castPtr ptr)) out_rgelt res__rgelt Prelude.>> HDirect.writeWord32 out_pceltFetched res__pceltFetched) prim_skip :: (Wtypes.ULONG -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Data.Word.Word32 -> Prelude.IO Data.Int.Int32 prim_skip skip_meth iptr celt = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> skip_meth celt obj) prim_reset :: (objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Prelude.IO Data.Int.Int32 prim_reset reset_meth iptr = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> reset_meth obj) prim_clone :: (objState -> Prelude.IO (IEnumHierarchies ())) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IEnumHierarchies ())) -> Prelude.IO Data.Int.Int32 prim_clone clone_meth iptr out_ppenum = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> clone_meth obj Prelude.>>= \ res__ppenum -> Com.marshallIUnknown res__ppenum Prelude.>>= \ res__ppenum -> HDirect.writePtr out_ppenum res__ppenum) -- -------------------------------------------------- -- -- interface IVsSolution -- -- -------------------------------------------------- mkIVsSolution_vtbl :: (VsTypes.VSENUMPROJFLAGS -> Wtypes.REFGUID -> objState -> Prelude.IO (IEnumHierarchies ())) -> (Wtypes.REFGUID -> Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> Wtypes.DWORD -> Com.IID a0 -> objState -> Prelude.IO (Com.IUnknown a0)) -> (Wtypes.LPCOLESTR -> objState -> Prelude.IO Prelude.String) -> (Wtypes.REFGUID -> objState -> Prelude.IO (VsProject.IVsHierarchy ())) -> (VsProject.IVsHierarchy a0 -> objState -> Prelude.IO Com.GUID) -> (objState -> Prelude.IO (Prelude.String, Prelude.String, Prelude.String)) -> (IVsSolutionEvents a1 -> objState -> Prelude.IO VsTypes.VSCOOKIE) -> (VsTypes.VSCOOKIE -> objState -> Prelude.IO ()) -> (VsTypes.VSSLNSAVEOPTIONS -> VsProject.IVsHierarchy a0 -> VsTypes.VSCOOKIE -> objState -> Prelude.IO ()) -> (VsTypes.VSSLNSAVEOPTIONS -> VsProject.IVsHierarchy a0 -> VsTypes.VSCOOKIE -> objState -> Prelude.IO ()) -> (Wtypes.LPCOLESTR -> objState -> Prelude.IO (VsProject.IVsHierarchy (), Prelude.String, VsTypes.VSUPDATEPROJREFREASON)) -> (VsProject.IVsHierarchy a0 -> objState -> Prelude.IO Prelude.String) -> (Wtypes.LPCOLESTR -> VsTypes.VSHPROPID -> objState -> Prelude.IO Automation.VARIANT) -> (VsProject.IVsHierarchy a0 -> VsTypes.VSADDVPFLAGS -> objState -> Prelude.IO ()) -> (Wtypes.LPCOLESTR -> objState -> Prelude.IO (VsProject.IVsHierarchy (), VsTypes.VSITEMID, Prelude.String, VsTypes.VSUPDATEPROJREFREASON)) -> (VsProject.IVsHierarchy a0 -> VsTypes.VSITEMID -> objState -> Prelude.IO Prelude.String) -> (Wtypes.LPCOLESTR -> VsTypes.VSHPROPID -> objState -> Prelude.IO Automation.VARIANT) -> (Wtypes.LPCOLESTR -> objState -> Prelude.IO (VsProject.IVsHierarchy ())) -> (VsProject.IVsHierarchy a0 -> objState -> Prelude.IO Prelude.String) -> (VsTypes.VSPROPID -> objState -> Prelude.IO Automation.VARIANT) -> (VsTypes.VSPROPID -> Automation.VARIANT -> objState -> Prelude.IO ()) -> (VsTypes.VSSLNOPENOPTIONS -> Wtypes.LPCOLESTR -> objState -> Prelude.IO ()) -> (objState -> Prelude.IO Wtypes.DWORD) -> (Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> VsTypes.VSCREATESOLUTIONFLAGS -> objState -> Prelude.IO ()) -> (Wtypes.DWORD -> Com.GUID -> Wtypes.LPCOLESTR -> objState -> Prelude.IO (Com.GUID, VsProject.IVsProjectFactory ())) -> (Wtypes.DWORD -> Wtypes.LPCOLESTR -> objState -> Prelude.IO Com.GUID) -> (Wtypes.LPCOLESTR -> Wtypes.BOOL -> objState -> Prelude.IO ()) -> (VsProject.IVsHierarchy a0 -> VsTypes.VSADDVPFLAGS -> Wtypes.REFGUID -> objState -> Prelude.IO ()) -> (VsProject.IVsProject a0 -> Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> Wtypes.DWORD -> objState -> Prelude.IO Wtypes.BOOL) -> (VsProject.IVsProject a0 -> Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> Wtypes.DWORD -> objState -> Prelude.IO ()) -> (VsProject.IVsHierarchy a0 -> VsTypes.VSREMOVEVPFLAGS -> objState -> Prelude.IO ()) -> (Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> Wtypes.DWORD -> objState -> Prelude.IO ()) -> (VsProject.IVsHierarchy a0 -> objState -> Prelude.IO VsTypes.VSADDVPFLAGS) -> (Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> objState -> Prelude.IO Prelude.String) -> (VsTypes.VSGETPROJFILESFLAGS -> Wtypes.ULONG -> objState -> Prelude.IO [Prelude.String]) -> (Wtypes.BOOL -> Wtypes.LPCOLESTR -> objState -> Prelude.IO Wtypes.BOOL) -> Prelude.IO (ComServ.ComVTable (IVsSolution ()) objState) mkIVsSolution_vtbl getProjectEnum createProject generateUniqueProjectName getProjectOfGuid getGuidOfProject getSolutionInfo adviseSolutionEvents unadviseSolutionEvents saveSolutionElement closeSolutionElement getProjectOfProjref getProjrefOfProject getProjectInfoOfProjref addVirtualProject getItemOfProjref getProjrefOfItem getItemInfoOfProjref getProjectOfUniqueName getUniqueNameOfProject getProperty setProperty openSolutionFile queryEditSolutionFile createSolution getProjectFactory getProjectTypeGuid openSolutionViaDlg addVirtualProjectEx queryRenameProject onAfterRenameProject removeVirtualProject createNewProjectViaDlg getVirtualProjectFlags generateNextDefaultProjectName getProjectFilesInSolution canCreateNewProjectAtLocation = do meth_arg0 <- export_getProjectEnum (prim_getProjectEnum getProjectEnum) meth_arg1 <- export_createProject (prim_createProject createProject) meth_arg2 <- export_generateUniqueProjectName (prim_generateUniqueProjectName generateUniqueProjectName) meth_arg3 <- export_getProjectOfGuid (prim_getProjectOfGuid getProjectOfGuid) meth_arg4 <- export_getGuidOfProject (prim_getGuidOfProject getGuidOfProject) meth_arg5 <- export_getSolutionInfo (prim_getSolutionInfo getSolutionInfo) meth_arg6 <- export_adviseSolutionEvents (prim_adviseSolutionEvents adviseSolutionEvents) meth_arg7 <- export_skip (prim_unadviseSolutionEvents unadviseSolutionEvents) meth_arg8 <- export_saveSolutionElement (prim_saveSolutionElement saveSolutionElement) meth_arg9 <- export_saveSolutionElement (prim_closeSolutionElement closeSolutionElement) meth_arg10 <- export_getProjectOfProjref (prim_getProjectOfProjref getProjectOfProjref) meth_arg11 <- export_getProjrefOfProject (prim_getProjrefOfProject getProjrefOfProject) meth_arg12 <- export_getProjectInfoOfProjref (prim_getProjectInfoOfProjref getProjectInfoOfProjref) meth_arg13 <- export_addVirtualProject (prim_addVirtualProject addVirtualProject) meth_arg14 <- export_getItemOfProjref (prim_getItemOfProjref getItemOfProjref) meth_arg15 <- export_getProjrefOfItem (prim_getProjrefOfItem getProjrefOfItem) meth_arg16 <- export_getProjectInfoOfProjref (prim_getItemInfoOfProjref getItemInfoOfProjref) meth_arg17 <- export_getProjectOfUniqueName (prim_getProjectOfUniqueName getProjectOfUniqueName) meth_arg18 <- export_getProjrefOfProject (prim_getUniqueNameOfProject getUniqueNameOfProject) meth_arg19 <- export_getProperty (prim_getProperty getProperty) meth_arg20 <- export_getProperty (prim_setProperty setProperty) meth_arg21 <- export_openSolutionFile (prim_openSolutionFile openSolutionFile) meth_arg22 <- export_queryEditSolutionFile (prim_queryEditSolutionFile queryEditSolutionFile) meth_arg23 <- export_createSolution (prim_createSolution createSolution) meth_arg24 <- export_getProjectFactory (prim_getProjectFactory getProjectFactory) meth_arg25 <- export_getProjectTypeGuid (prim_getProjectTypeGuid getProjectTypeGuid) meth_arg26 <- export_openSolutionViaDlg (prim_openSolutionViaDlg openSolutionViaDlg) meth_arg27 <- export_addVirtualProjectEx (prim_addVirtualProjectEx addVirtualProjectEx) meth_arg28 <- export_queryRenameProject (prim_queryRenameProject queryRenameProject) meth_arg29 <- export_onAfterRenameProject (prim_onAfterRenameProject onAfterRenameProject) meth_arg30 <- export_addVirtualProject (prim_removeVirtualProject removeVirtualProject) meth_arg31 <- export_createNewProjectViaDlg (prim_createNewProjectViaDlg createNewProjectViaDlg) meth_arg32 <- export_getVirtualProjectFlags (prim_getVirtualProjectFlags getVirtualProjectFlags) meth_arg33 <- export_generateNextDefaultProjectName (prim_generateNextDefaultProjectName generateNextDefaultProjectName) meth_arg34 <- export_getProjectFilesInSolution (prim_getProjectFilesInSolution getProjectFilesInSolution) meth_arg35 <- export_canCreateNewProjectAtLocation (prim_canCreateNewProjectAtLocation canCreateNewProjectAtLocation) 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 , meth_arg20 , meth_arg21 , meth_arg22 , meth_arg23 , meth_arg24 , meth_arg25 , meth_arg26 , meth_arg27 , meth_arg28 , meth_arg29 , meth_arg30 , meth_arg31 , meth_arg32 , meth_arg33 , meth_arg34 , meth_arg35 ] foreign import stdcall "wrapper" export_getProjectEnum :: (Foreign.Ptr.Ptr a -> Data.Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IEnumHierarchies a0)) -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_createProject :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Data.Word.Word32 -> Foreign.Ptr.Ptr (Com.IID a0) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (Com.IUnknown a0)) -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_generateUniqueProjectName :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getProjectOfGuid :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (VsProject.IVsHierarchy a0)) -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getGuidOfProject :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy a0) -> Foreign.Ptr.Ptr Com.GUID -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getSolutionInfo :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr Prelude.String -> Foreign.Ptr.Ptr Prelude.String -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_adviseSolutionEvents :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (IVsSolutionEvents a1) -> Foreign.Ptr.Ptr Data.Word.Word32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_saveSolutionElement :: (Foreign.Ptr.Ptr a -> Data.Int.Int32 -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy a0) -> Data.Word.Word32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getProjectOfProjref :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (VsProject.IVsHierarchy a0)) -> Foreign.Ptr.Ptr Prelude.String -> Foreign.Ptr.Ptr Data.Int.Int32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getProjrefOfProject :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy a0) -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getProjectInfoOfProjref :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr WideString.WideString -> Data.Int.Int32 -> Automation.VARIANT -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_addVirtualProject :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy a0) -> Data.Int.Int32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getItemOfProjref :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (VsProject.IVsHierarchy a0)) -> Foreign.Ptr.Ptr Data.Word.Word32 -> Foreign.Ptr.Ptr Prelude.String -> Foreign.Ptr.Ptr Data.Int.Int32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getProjrefOfItem :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy a0) -> Data.Word.Word32 -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getProjectOfUniqueName :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (VsProject.IVsHierarchy a0)) -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getProperty :: (Foreign.Ptr.Ptr a -> Data.Int.Int32 -> Automation.VARIANT -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_openSolutionFile :: (Foreign.Ptr.Ptr a -> Data.Int.Int32 -> Foreign.Ptr.Ptr WideString.WideString -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_queryEditSolutionFile :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr Data.Word.Word32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_createSolution :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Data.Int.Int32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getProjectFactory :: (Foreign.Ptr.Ptr a -> Data.Word.Word32 -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (VsProject.IVsProjectFactory a0)) -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getProjectTypeGuid :: (Foreign.Ptr.Ptr a -> Data.Word.Word32 -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Com.GUID -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_openSolutionViaDlg :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr WideString.WideString -> Data.Int.Int32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_addVirtualProjectEx :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy a0) -> Data.Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_queryRenameProject :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (VsProject.IVsProject a0) -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Data.Word.Word32 -> Foreign.Ptr.Ptr Data.Int.Int32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_onAfterRenameProject :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (VsProject.IVsProject a0) -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Data.Word.Word32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_createNewProjectViaDlg :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Data.Word.Word32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getVirtualProjectFlags :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy a0) -> Foreign.Ptr.Ptr Data.Int.Int32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_generateNextDefaultProjectName :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_getProjectFilesInSolution :: (Foreign.Ptr.Ptr a -> Data.Int.Int32 -> Data.Word.Word32 -> Foreign.Ptr.Ptr [Prelude.String] -> Foreign.Ptr.Ptr Data.Word.Word32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_canCreateNewProjectAtLocation :: (Foreign.Ptr.Ptr a -> Data.Int.Int32 -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Data.Int.Int32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) prim_getProjectEnum :: (VsTypes.VSENUMPROJFLAGS -> Wtypes.REFGUID -> objState -> Prelude.IO (IEnumHierarchies ())) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Data.Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (IEnumHierarchies ())) -> Prelude.IO Data.Int.Int32 prim_getProjectEnum getProjectEnum_meth iptr grfEnumFlags rguidEnumOnlyThisType out_ppEnum = Com.returnHR (HDirect.unmarshallEnum32 grfEnumFlags Prelude.>>= \ grfEnumFlags -> Com.unmarshallGUID Prelude.False rguidEnumOnlyThisType Prelude.>>= \ rguidEnumOnlyThisType -> ComServ.getObjState iptr Prelude.>>= \ obj -> getProjectEnum_meth grfEnumFlags rguidEnumOnlyThisType obj Prelude.>>= \ res__ppEnum -> Com.marshallIUnknown res__ppEnum Prelude.>>= \ res__ppEnum -> HDirect.writePtr out_ppEnum res__ppEnum) prim_createProject :: (Wtypes.REFGUID -> Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> Wtypes.DWORD -> Com.IID a -> objState -> Prelude.IO (Com.IUnknown a)) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Data.Word.Word32 -> Foreign.Ptr.Ptr (Com.IID a) -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (Com.IUnknown a)) -> Prelude.IO Data.Int.Int32 prim_createProject createProject_meth iptr rguidProjectType lpszMoniker lpszLocation lpszName grfCreateFlags iidProject out_ppProject = Com.returnHR (Com.unmarshallGUID Prelude.False rguidProjectType Prelude.>>= \ rguidProjectType -> WideString.unmarshallWideString lpszMoniker Prelude.>>= \ lpszMoniker -> WideString.unmarshallWideString lpszLocation Prelude.>>= \ lpszLocation -> WideString.unmarshallWideString lpszName Prelude.>>= \ lpszName -> Com.unmarshallIID Prelude.False iidProject Prelude.>>= \ iidProject -> ComServ.getObjState iptr Prelude.>>= \ obj -> createProject_meth rguidProjectType lpszMoniker lpszLocation lpszName grfCreateFlags iidProject obj Prelude.>>= \ res__ppProject -> Com.marshallIUnknown res__ppProject Prelude.>>= \ res__ppProject -> HDirect.writePtr out_ppProject res__ppProject) prim_generateUniqueProjectName :: (Wtypes.LPCOLESTR -> objState -> Prelude.IO Prelude.String) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Data.Int.Int32 prim_generateUniqueProjectName generateUniqueProjectName_meth iptr lpszRoot out_pbstrProjectName = Com.returnHR (WideString.unmarshallWideString lpszRoot Prelude.>>= \ lpszRoot -> ComServ.getObjState iptr Prelude.>>= \ obj -> generateUniqueProjectName_meth lpszRoot obj Prelude.>>= \ res__pbstrProjectName -> Com.marshallBSTR res__pbstrProjectName Prelude.>>= \ res__pbstrProjectName -> HDirect.writePtr (Foreign.Ptr.castPtr out_pbstrProjectName) res__pbstrProjectName) prim_getProjectOfGuid :: (Wtypes.REFGUID -> objState -> Prelude.IO (VsProject.IVsHierarchy ())) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (VsProject.IVsHierarchy ())) -> Prelude.IO Data.Int.Int32 prim_getProjectOfGuid getProjectOfGuid_meth iptr rguidProjectID out_ppHierarchy = Com.returnHR (Com.unmarshallGUID Prelude.False rguidProjectID Prelude.>>= \ rguidProjectID -> ComServ.getObjState iptr Prelude.>>= \ obj -> getProjectOfGuid_meth rguidProjectID obj Prelude.>>= \ res__ppHierarchy -> Com.marshallIUnknown res__ppHierarchy Prelude.>>= \ res__ppHierarchy -> HDirect.writePtr out_ppHierarchy res__ppHierarchy) prim_getGuidOfProject :: (VsProject.IVsHierarchy a0 -> objState -> Prelude.IO Com.GUID) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy ()) -> Foreign.Ptr.Ptr Com.GUID -> Prelude.IO Data.Int.Int32 prim_getGuidOfProject getGuidOfProject_meth iptr pHierarchy out_pguidProjectID = Com.returnHR (Com.unmarshallIUnknown Prelude.True pHierarchy Prelude.>>= \ pHierarchy -> ComServ.getObjState iptr Prelude.>>= \ obj -> getGuidOfProject_meth pHierarchy obj Prelude.>>= \ res__pguidProjectID -> Com.marshallGUID res__pguidProjectID Prelude.>>= \ res__pguidProjectID -> ComPrim.primCopyGUID (Foreign.ForeignPtr.castForeignPtr res__pguidProjectID) (Foreign.Ptr.castPtr out_pguidProjectID)) prim_getSolutionInfo :: (objState -> Prelude.IO (Prelude.String, Prelude.String, Prelude.String)) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Prelude.String -> Foreign.Ptr.Ptr Prelude.String -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Data.Int.Int32 prim_getSolutionInfo getSolutionInfo_meth iptr out_pbstrSolutionDirectory out_pbstrSolutionFile out_pbstrUserOptsFile = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> getSolutionInfo_meth obj Prelude.>>= \ (res__pbstrSolutionDirectory, res__pbstrSolutionFile, res__pbstrUserOptsFile) -> Com.marshallBSTR res__pbstrSolutionDirectory Prelude.>>= \ res__pbstrSolutionDirectory -> Com.marshallBSTR res__pbstrSolutionFile Prelude.>>= \ res__pbstrSolutionFile -> Com.marshallBSTR res__pbstrUserOptsFile Prelude.>>= \ res__pbstrUserOptsFile -> HDirect.writePtr (Foreign.Ptr.castPtr out_pbstrSolutionDirectory) res__pbstrSolutionDirectory Prelude.>> HDirect.writePtr (Foreign.Ptr.castPtr out_pbstrSolutionFile) res__pbstrSolutionFile Prelude.>> HDirect.writePtr (Foreign.Ptr.castPtr out_pbstrUserOptsFile) res__pbstrUserOptsFile) prim_adviseSolutionEvents :: (IVsSolutionEvents a0 -> objState -> Prelude.IO VsTypes.VSCOOKIE) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (IVsSolutionEvents a0) -> Foreign.Ptr.Ptr Data.Word.Word32 -> Prelude.IO Data.Int.Int32 prim_adviseSolutionEvents adviseSolutionEvents_meth iptr pSink out_pdwCookie = Com.returnHR (Com.readIUnknown Prelude.True pSink Prelude.>>= \ pSink -> ComServ.getObjState iptr Prelude.>>= \ obj -> adviseSolutionEvents_meth pSink obj Prelude.>>= \ res__pdwCookie -> HDirect.writeWord32 out_pdwCookie res__pdwCookie) prim_unadviseSolutionEvents :: (VsTypes.VSCOOKIE -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Data.Word.Word32 -> Prelude.IO Data.Int.Int32 prim_unadviseSolutionEvents unadviseSolutionEvents_meth iptr dwCookie = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> unadviseSolutionEvents_meth dwCookie obj) prim_saveSolutionElement :: (VsTypes.VSSLNSAVEOPTIONS -> VsProject.IVsHierarchy a0 -> VsTypes.VSCOOKIE -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Data.Int.Int32 -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy ()) -> Data.Word.Word32 -> Prelude.IO Data.Int.Int32 prim_saveSolutionElement saveSolutionElement_meth iptr grfSaveOpts pHier docCookie = Com.returnHR (HDirect.unmarshallEnum32 grfSaveOpts Prelude.>>= \ grfSaveOpts -> Com.unmarshallIUnknown Prelude.True pHier Prelude.>>= \ pHier -> ComServ.getObjState iptr Prelude.>>= \ obj -> saveSolutionElement_meth grfSaveOpts pHier docCookie obj) prim_closeSolutionElement :: (VsTypes.VSSLNSAVEOPTIONS -> VsProject.IVsHierarchy a0 -> VsTypes.VSCOOKIE -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Data.Int.Int32 -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy ()) -> Data.Word.Word32 -> Prelude.IO Data.Int.Int32 prim_closeSolutionElement closeSolutionElement_meth iptr grfCloseOpts pHier docCookie = Com.returnHR (HDirect.unmarshallEnum32 grfCloseOpts Prelude.>>= \ grfCloseOpts -> Com.unmarshallIUnknown Prelude.True pHier Prelude.>>= \ pHier -> ComServ.getObjState iptr Prelude.>>= \ obj -> closeSolutionElement_meth grfCloseOpts pHier docCookie obj) prim_getProjectOfProjref :: (Wtypes.LPCOLESTR -> objState -> Prelude.IO (VsProject.IVsHierarchy (), Prelude.String, VsTypes.VSUPDATEPROJREFREASON)) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (VsProject.IVsHierarchy ())) -> Foreign.Ptr.Ptr Prelude.String -> Foreign.Ptr.Ptr Data.Int.Int32 -> Prelude.IO Data.Int.Int32 prim_getProjectOfProjref getProjectOfProjref_meth iptr pszProjref out_ppHierarchy out_pbstrUpdatedProjref out_puprUpdateReason = Com.returnHR (WideString.unmarshallWideString pszProjref Prelude.>>= \ pszProjref -> ComServ.getObjState iptr Prelude.>>= \ obj -> getProjectOfProjref_meth pszProjref obj Prelude.>>= \ (res__ppHierarchy, res__pbstrUpdatedProjref, res__puprUpdateReason) -> Com.marshallIUnknown res__ppHierarchy Prelude.>>= \ res__ppHierarchy -> Com.marshallBSTR res__pbstrUpdatedProjref Prelude.>>= \ res__pbstrUpdatedProjref -> HDirect.marshallEnum32 res__puprUpdateReason Prelude.>>= \ res__puprUpdateReason -> HDirect.writePtr out_ppHierarchy res__ppHierarchy Prelude.>> HDirect.writePtr (Foreign.Ptr.castPtr out_pbstrUpdatedProjref) res__pbstrUpdatedProjref Prelude.>> HDirect.writeInt32 out_puprUpdateReason res__puprUpdateReason) prim_getProjrefOfProject :: (VsProject.IVsHierarchy a0 -> objState -> Prelude.IO Prelude.String) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy ()) -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Data.Int.Int32 prim_getProjrefOfProject getProjrefOfProject_meth iptr pHierarchy out_pbstrProjref = Com.returnHR (Com.unmarshallIUnknown Prelude.True pHierarchy Prelude.>>= \ pHierarchy -> ComServ.getObjState iptr Prelude.>>= \ obj -> getProjrefOfProject_meth pHierarchy obj Prelude.>>= \ res__pbstrProjref -> Com.marshallBSTR res__pbstrProjref Prelude.>>= \ res__pbstrProjref -> HDirect.writePtr (Foreign.Ptr.castPtr out_pbstrProjref) res__pbstrProjref) prim_getProjectInfoOfProjref :: (Wtypes.LPCOLESTR -> VsTypes.VSHPROPID -> objState -> Prelude.IO Automation.VARIANT) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr WideString.WideString -> Data.Int.Int32 -> Automation.VARIANT -> Prelude.IO Data.Int.Int32 prim_getProjectInfoOfProjref getProjectInfoOfProjref_meth iptr pszProjref propid out_pvar = Com.returnHR (WideString.unmarshallWideString pszProjref Prelude.>>= \ pszProjref -> HDirect.unmarshallEnum32 propid Prelude.>>= \ propid -> ComServ.getObjState iptr Prelude.>>= \ obj -> getProjectInfoOfProjref_meth pszProjref propid obj Prelude.>>= \ res__pvar -> Automation.marshallVARIANT res__pvar Prelude.>>= \ res__pvar -> HDirect.writePtr (Foreign.Ptr.castPtr out_pvar) res__pvar) prim_addVirtualProject :: (VsProject.IVsHierarchy a0 -> VsTypes.VSADDVPFLAGS -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy ()) -> Data.Int.Int32 -> Prelude.IO Data.Int.Int32 prim_addVirtualProject addVirtualProject_meth iptr pHierarchy grfAddVPFlags = Com.returnHR (Com.unmarshallIUnknown Prelude.True pHierarchy Prelude.>>= \ pHierarchy -> HDirect.unmarshallEnum32 grfAddVPFlags Prelude.>>= \ grfAddVPFlags -> ComServ.getObjState iptr Prelude.>>= \ obj -> addVirtualProject_meth pHierarchy grfAddVPFlags obj) prim_getItemOfProjref :: (Wtypes.LPCOLESTR -> objState -> Prelude.IO (VsProject.IVsHierarchy (), VsTypes.VSITEMID, Prelude.String, VsTypes.VSUPDATEPROJREFREASON)) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (VsProject.IVsHierarchy ())) -> Foreign.Ptr.Ptr Data.Word.Word32 -> Foreign.Ptr.Ptr Prelude.String -> Foreign.Ptr.Ptr Data.Int.Int32 -> Prelude.IO Data.Int.Int32 prim_getItemOfProjref getItemOfProjref_meth iptr pszProjref out_ppHierarchy out_pitemid out_pbstrUpdatedProjref out_puprUpdateReason = Com.returnHR (WideString.unmarshallWideString pszProjref Prelude.>>= \ pszProjref -> ComServ.getObjState iptr Prelude.>>= \ obj -> getItemOfProjref_meth pszProjref obj Prelude.>>= \ (res__ppHierarchy, res__pitemid, res__pbstrUpdatedProjref, res__puprUpdateReason) -> Com.marshallIUnknown res__ppHierarchy Prelude.>>= \ res__ppHierarchy -> Com.marshallBSTR res__pbstrUpdatedProjref Prelude.>>= \ res__pbstrUpdatedProjref -> HDirect.marshallEnum32 res__puprUpdateReason Prelude.>>= \ res__puprUpdateReason -> HDirect.writePtr out_ppHierarchy res__ppHierarchy Prelude.>> HDirect.writeWord32 out_pitemid res__pitemid Prelude.>> HDirect.writePtr (Foreign.Ptr.castPtr out_pbstrUpdatedProjref) res__pbstrUpdatedProjref Prelude.>> HDirect.writeInt32 out_puprUpdateReason res__puprUpdateReason) prim_getProjrefOfItem :: (VsProject.IVsHierarchy a0 -> VsTypes.VSITEMID -> objState -> Prelude.IO Prelude.String) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy ()) -> Data.Word.Word32 -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Data.Int.Int32 prim_getProjrefOfItem getProjrefOfItem_meth iptr pHierarchy itemid out_pbstrProjref = Com.returnHR (Com.unmarshallIUnknown Prelude.True pHierarchy Prelude.>>= \ pHierarchy -> ComServ.getObjState iptr Prelude.>>= \ obj -> getProjrefOfItem_meth pHierarchy itemid obj Prelude.>>= \ res__pbstrProjref -> Com.marshallBSTR res__pbstrProjref Prelude.>>= \ res__pbstrProjref -> HDirect.writePtr (Foreign.Ptr.castPtr out_pbstrProjref) res__pbstrProjref) prim_getItemInfoOfProjref :: (Wtypes.LPCOLESTR -> VsTypes.VSHPROPID -> objState -> Prelude.IO Automation.VARIANT) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr WideString.WideString -> Data.Int.Int32 -> Automation.VARIANT -> Prelude.IO Data.Int.Int32 prim_getItemInfoOfProjref getItemInfoOfProjref_meth iptr pszProjref propid out_pvar = Com.returnHR (WideString.unmarshallWideString pszProjref Prelude.>>= \ pszProjref -> HDirect.unmarshallEnum32 propid Prelude.>>= \ propid -> ComServ.getObjState iptr Prelude.>>= \ obj -> getItemInfoOfProjref_meth pszProjref propid obj Prelude.>>= \ res__pvar -> Automation.marshallVARIANT res__pvar Prelude.>>= \ res__pvar -> HDirect.writePtr (Foreign.Ptr.castPtr out_pvar) res__pvar) prim_getProjectOfUniqueName :: (Wtypes.LPCOLESTR -> objState -> Prelude.IO (VsProject.IVsHierarchy ())) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (VsProject.IVsHierarchy ())) -> Prelude.IO Data.Int.Int32 prim_getProjectOfUniqueName getProjectOfUniqueName_meth iptr pszUniqueName out_ppHierarchy = Com.returnHR (WideString.unmarshallWideString pszUniqueName Prelude.>>= \ pszUniqueName -> ComServ.getObjState iptr Prelude.>>= \ obj -> getProjectOfUniqueName_meth pszUniqueName obj Prelude.>>= \ res__ppHierarchy -> Com.marshallIUnknown res__ppHierarchy Prelude.>>= \ res__ppHierarchy -> HDirect.writePtr out_ppHierarchy res__ppHierarchy) prim_getUniqueNameOfProject :: (VsProject.IVsHierarchy a0 -> objState -> Prelude.IO Prelude.String) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy ()) -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Data.Int.Int32 prim_getUniqueNameOfProject getUniqueNameOfProject_meth iptr pHierarchy out_pbstrUniqueName = Com.returnHR (Com.unmarshallIUnknown Prelude.True pHierarchy Prelude.>>= \ pHierarchy -> ComServ.getObjState iptr Prelude.>>= \ obj -> getUniqueNameOfProject_meth pHierarchy obj Prelude.>>= \ res__pbstrUniqueName -> Com.marshallBSTR res__pbstrUniqueName Prelude.>>= \ res__pbstrUniqueName -> HDirect.writePtr (Foreign.Ptr.castPtr out_pbstrUniqueName) res__pbstrUniqueName) prim_getProperty :: (VsTypes.VSPROPID -> objState -> Prelude.IO Automation.VARIANT) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Data.Int.Int32 -> Automation.VARIANT -> Prelude.IO Data.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.VSPROPID -> Automation.VARIANT -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Data.Int.Int32 -> Automation.VARIANT -> Prelude.IO Data.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_openSolutionFile :: (VsTypes.VSSLNOPENOPTIONS -> Wtypes.LPCOLESTR -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Data.Int.Int32 -> Foreign.Ptr.Ptr WideString.WideString -> Prelude.IO Data.Int.Int32 prim_openSolutionFile openSolutionFile_meth iptr grfOpenOpts pszFilename = Com.returnHR (HDirect.unmarshallEnum32 grfOpenOpts Prelude.>>= \ grfOpenOpts -> WideString.unmarshallWideString pszFilename Prelude.>>= \ pszFilename -> ComServ.getObjState iptr Prelude.>>= \ obj -> openSolutionFile_meth grfOpenOpts pszFilename obj) prim_queryEditSolutionFile :: (objState -> Prelude.IO Wtypes.DWORD) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Data.Word.Word32 -> Prelude.IO Data.Int.Int32 prim_queryEditSolutionFile queryEditSolutionFile_meth iptr out_pdwEditResult = Com.returnHR (ComServ.getObjState iptr Prelude.>>= \ obj -> queryEditSolutionFile_meth obj Prelude.>>= \ res__pdwEditResult -> HDirect.writeWord32 out_pdwEditResult res__pdwEditResult) prim_createSolution :: (Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> VsTypes.VSCREATESOLUTIONFLAGS -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Data.Int.Int32 -> Prelude.IO Data.Int.Int32 prim_createSolution createSolution_meth iptr lpszLocation lpszName grfCreateFlags = Com.returnHR (WideString.unmarshallWideString lpszLocation Prelude.>>= \ lpszLocation -> WideString.unmarshallWideString lpszName Prelude.>>= \ lpszName -> HDirect.unmarshallEnum32 grfCreateFlags Prelude.>>= \ grfCreateFlags -> ComServ.getObjState iptr Prelude.>>= \ obj -> createSolution_meth lpszLocation lpszName grfCreateFlags obj) prim_getProjectFactory :: (Wtypes.DWORD -> Com.GUID -> Wtypes.LPCOLESTR -> objState -> Prelude.IO (Com.GUID, VsProject.IVsProjectFactory ())) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Data.Word.Word32 -> Foreign.Ptr.Ptr Com.GUID -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr (Foreign.Ptr.Ptr (VsProject.IVsProjectFactory ())) -> Prelude.IO Data.Int.Int32 prim_getProjectFactory getProjectFactory_meth iptr dwReserved pguidProjectType pszMkProject out_ppProjectFactory = Com.returnHR (WideString.unmarshallWideString pszMkProject Prelude.>>= \ pszMkProject -> Com.unmarshallGUID Prelude.False pguidProjectType Prelude.>>= \ in__pguidProjectType -> ComServ.getObjState iptr Prelude.>>= \ obj -> getProjectFactory_meth dwReserved in__pguidProjectType pszMkProject obj Prelude.>>= \ (res__pguidProjectType, res__ppProjectFactory) -> Com.marshallIUnknown res__ppProjectFactory Prelude.>>= \ res__ppProjectFactory -> Com.writeGUID pguidProjectType res__pguidProjectType Prelude.>> HDirect.writePtr out_ppProjectFactory res__ppProjectFactory) prim_getProjectTypeGuid :: (Wtypes.DWORD -> Wtypes.LPCOLESTR -> objState -> Prelude.IO Com.GUID) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Data.Word.Word32 -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Com.GUID -> Prelude.IO Data.Int.Int32 prim_getProjectTypeGuid getProjectTypeGuid_meth iptr dwReserved pszMkProject out_pguidProjectType = Com.returnHR (WideString.unmarshallWideString pszMkProject Prelude.>>= \ pszMkProject -> ComServ.getObjState iptr Prelude.>>= \ obj -> getProjectTypeGuid_meth dwReserved pszMkProject obj Prelude.>>= \ res__pguidProjectType -> Com.marshallGUID res__pguidProjectType Prelude.>>= \ res__pguidProjectType -> ComPrim.primCopyGUID (Foreign.ForeignPtr.castForeignPtr res__pguidProjectType) (Foreign.Ptr.castPtr out_pguidProjectType)) prim_openSolutionViaDlg :: (Wtypes.LPCOLESTR -> Wtypes.BOOL -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr WideString.WideString -> Data.Int.Int32 -> Prelude.IO Data.Int.Int32 prim_openSolutionViaDlg openSolutionViaDlg_meth iptr pszStartDirectory fDefaultToAllProjectsFilter = Com.returnHR (WideString.unmarshallWideString pszStartDirectory Prelude.>>= \ pszStartDirectory -> ComServ.getObjState iptr Prelude.>>= \ obj -> openSolutionViaDlg_meth pszStartDirectory fDefaultToAllProjectsFilter obj) prim_addVirtualProjectEx :: (VsProject.IVsHierarchy a0 -> VsTypes.VSADDVPFLAGS -> Wtypes.REFGUID -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy ()) -> Data.Int.Int32 -> Foreign.Ptr.Ptr Com.GUID -> Prelude.IO Data.Int.Int32 prim_addVirtualProjectEx addVirtualProjectEx_meth iptr pHierarchy grfAddVPFlags rguidProjectID = Com.returnHR (Com.unmarshallIUnknown Prelude.True pHierarchy Prelude.>>= \ pHierarchy -> HDirect.unmarshallEnum32 grfAddVPFlags Prelude.>>= \ grfAddVPFlags -> Com.unmarshallGUID Prelude.False rguidProjectID Prelude.>>= \ rguidProjectID -> ComServ.getObjState iptr Prelude.>>= \ obj -> addVirtualProjectEx_meth pHierarchy grfAddVPFlags rguidProjectID obj) prim_queryRenameProject :: (VsProject.IVsProject a0 -> Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> Wtypes.DWORD -> objState -> Prelude.IO Wtypes.BOOL) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (VsProject.IVsProject ()) -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Data.Word.Word32 -> Foreign.Ptr.Ptr Data.Int.Int32 -> Prelude.IO Data.Int.Int32 prim_queryRenameProject queryRenameProject_meth iptr pProject pszMkOldName pszMkNewName dwReserved out_pfRenameCanContinue = Com.returnHR (Com.unmarshallIUnknown Prelude.True pProject Prelude.>>= \ pProject -> WideString.unmarshallWideString pszMkOldName Prelude.>>= \ pszMkOldName -> WideString.unmarshallWideString pszMkNewName Prelude.>>= \ pszMkNewName -> ComServ.getObjState iptr Prelude.>>= \ obj -> queryRenameProject_meth pProject pszMkOldName pszMkNewName dwReserved obj Prelude.>>= \ res__pfRenameCanContinue -> HDirect.writeInt32 out_pfRenameCanContinue res__pfRenameCanContinue) prim_onAfterRenameProject :: (VsProject.IVsProject a0 -> Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> Wtypes.DWORD -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (VsProject.IVsProject ()) -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Data.Word.Word32 -> Prelude.IO Data.Int.Int32 prim_onAfterRenameProject onAfterRenameProject_meth iptr pProject pszMkOldName pszMkNewName dwReserved = Com.returnHR (Com.unmarshallIUnknown Prelude.True pProject Prelude.>>= \ pProject -> WideString.unmarshallWideString pszMkOldName Prelude.>>= \ pszMkOldName -> WideString.unmarshallWideString pszMkNewName Prelude.>>= \ pszMkNewName -> ComServ.getObjState iptr Prelude.>>= \ obj -> onAfterRenameProject_meth pProject pszMkOldName pszMkNewName dwReserved obj) prim_removeVirtualProject :: (VsProject.IVsHierarchy a0 -> VsTypes.VSREMOVEVPFLAGS -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy ()) -> Data.Int.Int32 -> Prelude.IO Data.Int.Int32 prim_removeVirtualProject removeVirtualProject_meth iptr pHierarchy grfRemoveVPFlags = Com.returnHR (Com.unmarshallIUnknown Prelude.True pHierarchy Prelude.>>= \ pHierarchy -> HDirect.unmarshallEnum32 grfRemoveVPFlags Prelude.>>= \ grfRemoveVPFlags -> ComServ.getObjState iptr Prelude.>>= \ obj -> removeVirtualProject_meth pHierarchy grfRemoveVPFlags obj) prim_createNewProjectViaDlg :: (Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> Wtypes.DWORD -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Data.Word.Word32 -> Prelude.IO Data.Int.Int32 prim_createNewProjectViaDlg createNewProjectViaDlg_meth iptr pszExpand pszSelect dwReserved = Com.returnHR (WideString.unmarshallWideString pszExpand Prelude.>>= \ pszExpand -> WideString.unmarshallWideString pszSelect Prelude.>>= \ pszSelect -> ComServ.getObjState iptr Prelude.>>= \ obj -> createNewProjectViaDlg_meth pszExpand pszSelect dwReserved obj) prim_getVirtualProjectFlags :: (VsProject.IVsHierarchy a0 -> objState -> Prelude.IO VsTypes.VSADDVPFLAGS) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy ()) -> Foreign.Ptr.Ptr Data.Int.Int32 -> Prelude.IO Data.Int.Int32 prim_getVirtualProjectFlags getVirtualProjectFlags_meth iptr pHierarchy out_pgrfAddVPFlags = Com.returnHR (Com.unmarshallIUnknown Prelude.True pHierarchy Prelude.>>= \ pHierarchy -> ComServ.getObjState iptr Prelude.>>= \ obj -> getVirtualProjectFlags_meth pHierarchy obj Prelude.>>= \ res__pgrfAddVPFlags -> HDirect.marshallEnum32 res__pgrfAddVPFlags Prelude.>>= \ res__pgrfAddVPFlags -> HDirect.writeInt32 out_pgrfAddVPFlags res__pgrfAddVPFlags) prim_generateNextDefaultProjectName :: (Wtypes.LPCOLESTR -> Wtypes.LPCOLESTR -> objState -> Prelude.IO Prelude.String) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Prelude.String -> Prelude.IO Data.Int.Int32 prim_generateNextDefaultProjectName generateNextDefaultProjectName_meth iptr pszBaseName pszLocation out_pbstrProjectName = Com.returnHR (WideString.unmarshallWideString pszBaseName Prelude.>>= \ pszBaseName -> WideString.unmarshallWideString pszLocation Prelude.>>= \ pszLocation -> ComServ.getObjState iptr Prelude.>>= \ obj -> generateNextDefaultProjectName_meth pszBaseName pszLocation obj Prelude.>>= \ res__pbstrProjectName -> Com.marshallBSTR res__pbstrProjectName Prelude.>>= \ res__pbstrProjectName -> HDirect.writePtr (Foreign.Ptr.castPtr out_pbstrProjectName) res__pbstrProjectName) prim_getProjectFilesInSolution :: (VsTypes.VSGETPROJFILESFLAGS -> Wtypes.ULONG -> objState -> Prelude.IO [Prelude.String]) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Data.Int.Int32 -> Data.Word.Word32 -> Foreign.Ptr.Ptr [Prelude.String] -> Foreign.Ptr.Ptr Data.Word.Word32 -> Prelude.IO Data.Int.Int32 prim_getProjectFilesInSolution getProjectFilesInSolution_meth iptr grfGetOpts cProjects out_rgbstrProjectNames out_pcProjectsFetched = Com.returnHR (HDirect.unmarshallEnum32 grfGetOpts Prelude.>>= \ grfGetOpts -> ComServ.getObjState iptr Prelude.>>= \ obj -> getProjectFilesInSolution_meth grfGetOpts cProjects obj Prelude.>>= \ res__rgbstrProjectNames -> let res__pcProjectsFetched = ((Prelude.fromIntegral (Prelude.length res__rgbstrProjectNames) :: Data.Word.Word32)) in HDirect.writelist Prelude.False HDirect.sizeofPtr Com.writeBSTR out_rgbstrProjectNames res__rgbstrProjectNames Prelude.>> HDirect.writeWord32 out_pcProjectsFetched res__pcProjectsFetched) prim_canCreateNewProjectAtLocation :: (Wtypes.BOOL -> Wtypes.LPCOLESTR -> objState -> Prelude.IO Wtypes.BOOL) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Data.Int.Int32 -> Foreign.Ptr.Ptr WideString.WideString -> Foreign.Ptr.Ptr Data.Int.Int32 -> Prelude.IO Data.Int.Int32 prim_canCreateNewProjectAtLocation canCreateNewProjectAtLocation_meth iptr fCreateNewSolution pszFullProjectFilePath out_pfCanCreate = Com.returnHR (WideString.unmarshallWideString pszFullProjectFilePath Prelude.>>= \ pszFullProjectFilePath -> ComServ.getObjState iptr Prelude.>>= \ obj -> canCreateNewProjectAtLocation_meth fCreateNewSolution pszFullProjectFilePath obj Prelude.>>= \ res__pfCanCreate -> HDirect.writeInt32 out_pfCanCreate res__pfCanCreate) -- -------------------------------------------------- -- -- interface IVsSolutionEvents -- -- -------------------------------------------------- mkIVsSolutionEvents_vtbl :: (VsProject.IVsHierarchy a0 -> Wtypes.BOOL -> objState -> Prelude.IO ()) -> (VsProject.IVsHierarchy a0 -> Wtypes.BOOL -> Wtypes.BOOL -> objState -> Prelude.IO Wtypes.BOOL) -> (VsProject.IVsHierarchy a0 -> Wtypes.BOOL -> objState -> Prelude.IO ()) -> (VsProject.IVsHierarchy a0 -> VsProject.IVsHierarchy a1 -> objState -> Prelude.IO ()) -> (VsProject.IVsHierarchy a0 -> Wtypes.BOOL -> objState -> Prelude.IO Wtypes.BOOL) -> (VsProject.IVsHierarchy a0 -> VsProject.IVsHierarchy a1 -> objState -> Prelude.IO ()) -> (Com.IUnknown a0 -> Wtypes.BOOL -> objState -> Prelude.IO ()) -> (Com.IUnknown a0 -> Wtypes.BOOL -> objState -> Prelude.IO Wtypes.BOOL) -> (Com.IUnknown a0 -> objState -> Prelude.IO ()) -> (Com.IUnknown a0 -> objState -> Prelude.IO ()) -> Prelude.IO (ComServ.ComVTable (IVsSolutionEvents ()) objState) mkIVsSolutionEvents_vtbl onAfterOpenProject onQueryCloseProject onBeforeCloseProject onAfterLoadProject onQueryUnloadProject onBeforeUnloadProject onAfterOpenSolution onQueryCloseSolution onBeforeCloseSolution onAfterCloseSolution = do meth_arg0 <- export_addVirtualProject (prim_onAfterOpenProject onAfterOpenProject) meth_arg1 <- export_onQueryCloseProject (prim_onQueryCloseProject onQueryCloseProject) meth_arg2 <- export_addVirtualProject (prim_onBeforeCloseProject onBeforeCloseProject) meth_arg3 <- export_onAfterLoadProject (prim_onAfterLoadProject onAfterLoadProject) meth_arg4 <- export_onQueryUnloadProject (prim_onQueryUnloadProject onQueryUnloadProject) meth_arg5 <- export_onAfterLoadProject (prim_onBeforeUnloadProject onBeforeUnloadProject) meth_arg6 <- export_onAfterOpenSolution (prim_onAfterOpenSolution onAfterOpenSolution) meth_arg7 <- export_onQueryCloseSolution (prim_onQueryCloseSolution onQueryCloseSolution) meth_arg8 <- export_onBeforeCloseSolution (prim_onBeforeCloseSolution onBeforeCloseSolution) meth_arg9 <- export_onBeforeCloseSolution (prim_onAfterCloseSolution onAfterCloseSolution) ComServ.createComVTable [ meth_arg0 , meth_arg1 , meth_arg2 , meth_arg3 , meth_arg4 , meth_arg5 , meth_arg6 , meth_arg7 , meth_arg8 , meth_arg9 ] foreign import stdcall "wrapper" export_onQueryCloseProject :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy a0) -> Data.Int.Int32 -> Foreign.Ptr.Ptr Data.Int.Int32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_onAfterLoadProject :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy a0) -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy a1) -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_onQueryUnloadProject :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy a0) -> Foreign.Ptr.Ptr Data.Int.Int32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_onAfterOpenSolution :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (Com.IUnknown a0) -> Data.Int.Int32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_onQueryCloseSolution :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (Com.IUnknown a0) -> Foreign.Ptr.Ptr Data.Int.Int32 -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) foreign import stdcall "wrapper" export_onBeforeCloseSolution :: (Foreign.Ptr.Ptr a -> Foreign.Ptr.Ptr (Com.IUnknown a0) -> Prelude.IO Data.Int.Int32) -> Prelude.IO (Foreign.Ptr.Ptr ()) prim_onAfterOpenProject :: (VsProject.IVsHierarchy a0 -> Wtypes.BOOL -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy ()) -> Data.Int.Int32 -> Prelude.IO Data.Int.Int32 prim_onAfterOpenProject onAfterOpenProject_meth iptr pHierarchy fAdded = Com.returnHR (Com.unmarshallIUnknown Prelude.True pHierarchy Prelude.>>= \ pHierarchy -> ComServ.getObjState iptr Prelude.>>= \ obj -> onAfterOpenProject_meth pHierarchy fAdded obj) prim_onQueryCloseProject :: (VsProject.IVsHierarchy a0 -> Wtypes.BOOL -> Wtypes.BOOL -> objState -> Prelude.IO Wtypes.BOOL) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy ()) -> Data.Int.Int32 -> Foreign.Ptr.Ptr Data.Int.Int32 -> Prelude.IO Data.Int.Int32 prim_onQueryCloseProject onQueryCloseProject_meth iptr pHierarchy fRemoving pfCancel = Com.returnHR (Com.unmarshallIUnknown Prelude.True pHierarchy Prelude.>>= \ pHierarchy -> HDirect.readInt32 pfCancel Prelude.>>= \ in__pfCancel -> ComServ.getObjState iptr Prelude.>>= \ obj -> onQueryCloseProject_meth pHierarchy fRemoving in__pfCancel obj Prelude.>>= \ res__pfCancel -> HDirect.writeInt32 pfCancel res__pfCancel) prim_onBeforeCloseProject :: (VsProject.IVsHierarchy a0 -> Wtypes.BOOL -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy ()) -> Data.Int.Int32 -> Prelude.IO Data.Int.Int32 prim_onBeforeCloseProject onBeforeCloseProject_meth iptr pHierarchy fRemoved = Com.returnHR (Com.unmarshallIUnknown Prelude.True pHierarchy Prelude.>>= \ pHierarchy -> ComServ.getObjState iptr Prelude.>>= \ obj -> onBeforeCloseProject_meth pHierarchy fRemoved obj) prim_onAfterLoadProject :: (VsProject.IVsHierarchy a0 -> VsProject.IVsHierarchy a1 -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy ()) -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy ()) -> Prelude.IO Data.Int.Int32 prim_onAfterLoadProject onAfterLoadProject_meth iptr pStubHierarchy pRealHierarchy = Com.returnHR (Com.unmarshallIUnknown Prelude.True pStubHierarchy Prelude.>>= \ pStubHierarchy -> Com.unmarshallIUnknown Prelude.True pRealHierarchy Prelude.>>= \ pRealHierarchy -> ComServ.getObjState iptr Prelude.>>= \ obj -> onAfterLoadProject_meth pStubHierarchy pRealHierarchy obj) prim_onQueryUnloadProject :: (VsProject.IVsHierarchy a0 -> Wtypes.BOOL -> objState -> Prelude.IO Wtypes.BOOL) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy ()) -> Foreign.Ptr.Ptr Data.Int.Int32 -> Prelude.IO Data.Int.Int32 prim_onQueryUnloadProject onQueryUnloadProject_meth iptr pRealHierarchy pfCancel = Com.returnHR (Com.unmarshallIUnknown Prelude.True pRealHierarchy Prelude.>>= \ pRealHierarchy -> HDirect.readInt32 pfCancel Prelude.>>= \ in__pfCancel -> ComServ.getObjState iptr Prelude.>>= \ obj -> onQueryUnloadProject_meth pRealHierarchy in__pfCancel obj Prelude.>>= \ res__pfCancel -> HDirect.writeInt32 pfCancel res__pfCancel) prim_onBeforeUnloadProject :: (VsProject.IVsHierarchy a0 -> VsProject.IVsHierarchy a1 -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy ()) -> Foreign.Ptr.Ptr (VsProject.IVsHierarchy ()) -> Prelude.IO Data.Int.Int32 prim_onBeforeUnloadProject onBeforeUnloadProject_meth iptr pRealHierarchy pStubHierarchy = Com.returnHR (Com.unmarshallIUnknown Prelude.True pRealHierarchy Prelude.>>= \ pRealHierarchy -> Com.unmarshallIUnknown Prelude.True pStubHierarchy Prelude.>>= \ pStubHierarchy -> ComServ.getObjState iptr Prelude.>>= \ obj -> onBeforeUnloadProject_meth pRealHierarchy pStubHierarchy obj) prim_onAfterOpenSolution :: (Com.IUnknown a0 -> Wtypes.BOOL -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Data.Int.Int32 -> Prelude.IO Data.Int.Int32 prim_onAfterOpenSolution onAfterOpenSolution_meth iptr pUnkReserved fNewSolution = Com.returnHR (Com.unmarshallIUnknown Prelude.True pUnkReserved Prelude.>>= \ pUnkReserved -> ComServ.getObjState iptr Prelude.>>= \ obj -> onAfterOpenSolution_meth pUnkReserved fNewSolution obj) prim_onQueryCloseSolution :: (Com.IUnknown a0 -> Wtypes.BOOL -> objState -> Prelude.IO Wtypes.BOOL) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr Data.Int.Int32 -> Prelude.IO Data.Int.Int32 prim_onQueryCloseSolution onQueryCloseSolution_meth iptr pUnkReserved pfCancel = Com.returnHR (Com.unmarshallIUnknown Prelude.True pUnkReserved Prelude.>>= \ pUnkReserved -> HDirect.readInt32 pfCancel Prelude.>>= \ in__pfCancel -> ComServ.getObjState iptr Prelude.>>= \ obj -> onQueryCloseSolution_meth pUnkReserved in__pfCancel obj Prelude.>>= \ res__pfCancel -> HDirect.writeInt32 pfCancel res__pfCancel) prim_onBeforeCloseSolution :: (Com.IUnknown a0 -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Prelude.IO Data.Int.Int32 prim_onBeforeCloseSolution onBeforeCloseSolution_meth iptr pUnkReserved = Com.returnHR (Com.unmarshallIUnknown Prelude.True pUnkReserved Prelude.>>= \ pUnkReserved -> ComServ.getObjState iptr Prelude.>>= \ obj -> onBeforeCloseSolution_meth pUnkReserved obj) prim_onAfterCloseSolution :: (Com.IUnknown a0 -> objState -> Prelude.IO ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Foreign.Ptr.Ptr (Com.IUnknown ()) -> Prelude.IO Data.Int.Int32 prim_onAfterCloseSolution onAfterCloseSolution_meth iptr pUnkReserved = Com.returnHR (Com.unmarshallIUnknown Prelude.True pUnkReserved Prelude.>>= \ pUnkReserved -> ComServ.getObjState iptr Prelude.>>= \ obj -> onAfterCloseSolution_meth pUnkReserved obj)