#ifndef __GUARDIAN_BASE_H #define __GUARDIAN_BASE_H #pragma once #include enum WorkStateEnum { WorkStateUpgrading=0, WorkStateGuardian, WorkStateReboot, WorkStateRollback, }; enum GuardianOpEnum { GdOpShakeHand = 0, GdOpUpdateTask, GdOpQueryInstall, GdOpUpgradeRestart, GdOpFrameQuit, }; enum GuardianStateEnum { GdStateInstalling = 0, GdStateGuardian, GdStateWaitReboot, GdStateWaitRollback, }; struct GuardianInfo { GuardianOpEnum eType; DWORD dwParam1; DWORD dwParam2; DWORD dwSize;//data size PCHAR pData; }; const int DATA_BUFSIZE = 8192; #ifdef __cplusplus extern "C" { #endif #if (defined(_WIN32) || defined(_WIN64)) # ifdef GUARDIANBASE_EXPORTS # define GUARDIANBASE_API __declspec(dllexport) # else # define GUARDIANBASE_API __declspec(dllimport) # endif #elif ( defined(__GNUC__) && __GNUC__ >= 4 ) # define GUARDIANBASE_API __attribute__((visibility("default"))) #else # define GUARDIANBASE_API #endif GUARDIANBASE_API int ShakeHands(WorkStateEnum& eState); GUARDIANBASE_API int PushUpdateTask(const char* pszPackName); GUARDIANBASE_API bool IsInstalling(); GUARDIANBASE_API int UpgradeRestart(const DWORD dwParam1, const DWORD dwParam2); GUARDIANBASE_API int FrameworkQuit(int eReason); #ifdef __cplusplus } #endif #endif //__GUARDIAN_BASE_H