#include #include #include #include #include "sx.h" #ifndef _OISAPI_H # define _OISAPI_H typedef dvoid* oisah; /* handle to the APIs */ #ifndef _OISA_FILEDOWNLOADTYPE #define _OISA_FILEDOWNLOADTYPE typedef enum _OISA_FILEDOWNLOADTYPE { OISA_ALWAYSDOWNLOAD, OISA_NEVERDOWNLOAD, OISA_OPTIONALDOWNLOAD,OISA_NOTYPE} OISA_FILEDOWNLOADTYPE; #endif typedef enum _OISA_PLATFORM { OISA_WIN31,OISA_WIN95, OISA_NT,OISA_WIN32,OISA_NETWARE, OISA_OS2,OISA_MAC,OISA_POWERMAC} OISA_PLATFORM; #define OISAHNL (oisah) 0 #define OISA_check(ret) if (ret == -1) return -1; #define DllImport __declspec( dllimport ) #define DllExport __declspec( dllexport ) typedef struct _OISA_FILEHNDL { dvoid* OISA_pObjectManager ; dvoid* OISA_pRelease ; dvoid* OISA_pPackage ; dvoid* OISA_pProduct ; text* OISA_AllocMsgPtr; }OISA_FILEHNDL ; #ifdef __cplusplus extern "C" { #endif /*_cplusplus*/ /* Get handle to call APIS*/ /* */ DllExport oisah oisagh_GetHandle( text* sProductName, OISA_PLATFORM ePlatform , text* sInterfaceLabel, text* sDescription, text* sVersion, boolean bSharable, text* sLocation, text* sPRDLocation, boolean bLoad); /* API interfaces*/ /* Add file to product*/ DllExport eword oisaafp_AddFileToProduct( oisah apiHandle,text *sSrcFileName, text* sStageDestination, text* sInstallDestination , OISA_FILEDOWNLOADTYPE eFileType, boolean bOverWrite); /* Remove File From Product*/ DllExport eword oisarfp_RemoveFileFromProduct( oisah apiHandle,text *sSrcFileName, text* sInstallDestination ); /* Add Icons To Product*/ DllExport eword oisaai_AddIconToProduct( oisah apiHandle, text* sWindowGroupName, text* sItemName, text* sCommand, ub2 nIconNumber, text *sWorkingDirectory, text *sAlternateSourceFile); /* Remove Icons From Product*/ DllExport eword oisari_RemoveIconFromProduct( oisah apiHandle, text* sWindowGroupName, text* sItemName, text* sCommand, ub2 nIconNumber, text *sWorkingDirectory, text *sAlternateSourceFile); /* Add Environment Variable to product*/ DllExport eword oisaae_AddVariableToProduct( oisah pHandle, text* sVariable, text* sValue, text* sFile, text* sGroup, boolean bAppend, text sAppendDelimiter, boolean bShared); /* Remove Environment Variable from product*/ DllExport eword oisare_RemoveVariableFromProduct( oisah pHandle, text* sVariable, text* sValue, text* sFile, text* sGroup); DllExport eword oisapgs_GenerateScripts(oisah Handle); DllExport eword oisapd_UpdateStagingArea(oisah Handle, text* sLogPath); DllExport text* oisagle_GetLastError(void); /*close the handle and release all the memory*/ DllExport eword oisarh_ReleaseHandle(oisah Handle); #ifdef __cplusplus } #endif /*_cplusplus*/ #endif