diff --git a/dlls/msi/action.h b/dlls/msi/action.h index 24ad5ce5255..be7d031c37b 100644 --- a/dlls/msi/action.h +++ b/dlls/msi/action.h @@ -18,6 +18,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#ifndef __MSI_ACTION_H__ +#define __MSI_ACTION_H__ + #include "wine/list.h" #define IDENTIFIER_SIZE 96 @@ -214,64 +217,64 @@ typedef struct tagMSISCRIPT UINT InWhatSequence; LPWSTR *UniqueActions; UINT UniqueActionsCount; -}MSISCRIPT; +} MSISCRIPT; -UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action, BOOL force); -UINT ACTION_PerformUIAction(MSIPACKAGE *package, const WCHAR *action); -void ACTION_FinishCustomActions( MSIPACKAGE* package); -UINT ACTION_CustomAction(MSIPACKAGE *package,const WCHAR *action, BOOL execute); +extern UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action, BOOL force); +extern UINT ACTION_PerformUIAction(MSIPACKAGE *package, const WCHAR *action); +extern void ACTION_FinishCustomActions( MSIPACKAGE* package); +extern UINT ACTION_CustomAction(MSIPACKAGE *package,const WCHAR *action, BOOL execute); /* actions in other modules */ -UINT ACTION_AppSearch(MSIPACKAGE *package); -UINT ACTION_FindRelatedProducts(MSIPACKAGE *package); -UINT ACTION_InstallFiles(MSIPACKAGE *package); -UINT ACTION_DuplicateFiles(MSIPACKAGE *package); -UINT ACTION_RegisterClassInfo(MSIPACKAGE *package); -UINT ACTION_RegisterProgIdInfo(MSIPACKAGE *package); -UINT ACTION_RegisterExtensionInfo(MSIPACKAGE *package); -UINT ACTION_RegisterMIMEInfo(MSIPACKAGE *package); +extern UINT ACTION_AppSearch(MSIPACKAGE *package); +extern UINT ACTION_FindRelatedProducts(MSIPACKAGE *package); +extern UINT ACTION_InstallFiles(MSIPACKAGE *package); +extern UINT ACTION_DuplicateFiles(MSIPACKAGE *package); +extern UINT ACTION_RegisterClassInfo(MSIPACKAGE *package); +extern UINT ACTION_RegisterProgIdInfo(MSIPACKAGE *package); +extern UINT ACTION_RegisterExtensionInfo(MSIPACKAGE *package); +extern UINT ACTION_RegisterMIMEInfo(MSIPACKAGE *package); /* Helpers */ -DWORD deformat_string(MSIPACKAGE *package, LPCWSTR ptr, WCHAR** data ); -WCHAR *load_dynamic_stringW(MSIRECORD *row, INT index); -LPWSTR load_dynamic_property(MSIPACKAGE *package, LPCWSTR prop, UINT* rc); -LPWSTR resolve_folder(MSIPACKAGE *package, LPCWSTR name, BOOL source, +extern DWORD deformat_string(MSIPACKAGE *package, LPCWSTR ptr, WCHAR** data ); +extern WCHAR *load_dynamic_stringW(MSIRECORD *row, INT index); +extern LPWSTR load_dynamic_property(MSIPACKAGE *package, LPCWSTR prop, UINT* rc); +extern LPWSTR resolve_folder(MSIPACKAGE *package, LPCWSTR name, BOOL source, BOOL set_prop, MSIFOLDER **folder); -MSICOMPONENT *get_loaded_component( MSIPACKAGE* package, LPCWSTR Component ); -MSIFEATURE *get_loaded_feature( MSIPACKAGE* package, LPCWSTR Feature ); -MSIFILE *get_loaded_file( MSIPACKAGE* package, LPCWSTR file ); -MSIFOLDER *get_loaded_folder( MSIPACKAGE *package, LPCWSTR dir ); -int track_tempfile(MSIPACKAGE *package, LPCWSTR name, LPCWSTR path); -UINT schedule_action(MSIPACKAGE *package, UINT script, LPCWSTR action); -UINT build_icon_path(MSIPACKAGE *, LPCWSTR, LPWSTR *); -DWORD build_version_dword(LPCWSTR); -LPWSTR build_directory_name(DWORD , ...); -BOOL create_full_pathW(const WCHAR *path); -BOOL ACTION_VerifyComponentForAction(MSIPACKAGE*, MSICOMPONENT*, INSTALLSTATE); -BOOL ACTION_VerifyFeatureForAction(MSIFEATURE*, INSTALLSTATE); -void reduce_to_longfilename(WCHAR*); -void reduce_to_shortfilename(WCHAR*); -LPWSTR create_component_advertise_string(MSIPACKAGE*, MSICOMPONENT*, LPCWSTR); -void ACTION_UpdateComponentStates(MSIPACKAGE *package, LPCWSTR szFeature); -UINT register_unique_action(MSIPACKAGE *, LPCWSTR); -BOOL check_unique_action(MSIPACKAGE *, LPCWSTR); -WCHAR* generate_error_string(MSIPACKAGE *, UINT, DWORD, ... ); +extern MSICOMPONENT *get_loaded_component( MSIPACKAGE* package, LPCWSTR Component ); +extern MSIFEATURE *get_loaded_feature( MSIPACKAGE* package, LPCWSTR Feature ); +extern MSIFILE *get_loaded_file( MSIPACKAGE* package, LPCWSTR file ); +extern MSIFOLDER *get_loaded_folder( MSIPACKAGE *package, LPCWSTR dir ); +extern int track_tempfile(MSIPACKAGE *package, LPCWSTR name, LPCWSTR path); +extern UINT schedule_action(MSIPACKAGE *package, UINT script, LPCWSTR action); +extern UINT build_icon_path(MSIPACKAGE *, LPCWSTR, LPWSTR *); +extern DWORD build_version_dword(LPCWSTR); +extern LPWSTR build_directory_name(DWORD , ...); +extern BOOL create_full_pathW(const WCHAR *path); +extern BOOL ACTION_VerifyComponentForAction(MSIPACKAGE*, MSICOMPONENT*, INSTALLSTATE); +extern BOOL ACTION_VerifyFeatureForAction(MSIFEATURE*, INSTALLSTATE); +extern void reduce_to_longfilename(WCHAR*); +extern void reduce_to_shortfilename(WCHAR*); +extern LPWSTR create_component_advertise_string(MSIPACKAGE*, MSICOMPONENT*, LPCWSTR); +extern void ACTION_UpdateComponentStates(MSIPACKAGE *package, LPCWSTR szFeature); +extern UINT register_unique_action(MSIPACKAGE *, LPCWSTR); +extern BOOL check_unique_action(MSIPACKAGE *, LPCWSTR); +extern WCHAR* generate_error_string(MSIPACKAGE *, UINT, DWORD, ... ); /* control event stuff */ -VOID ControlEvent_FireSubscribedEvent(MSIPACKAGE *package, LPCWSTR event, +extern VOID ControlEvent_FireSubscribedEvent(MSIPACKAGE *package, LPCWSTR event, MSIRECORD *data); -VOID ControlEvent_CleanupSubscriptions(MSIPACKAGE *package); -VOID ControlEvent_SubscribeToEvent(MSIPACKAGE *package, LPCWSTR event, +extern VOID ControlEvent_CleanupSubscriptions(MSIPACKAGE *package); +extern VOID ControlEvent_SubscribeToEvent(MSIPACKAGE *package, LPCWSTR event, LPCWSTR control, LPCWSTR attribute); -VOID ControlEvent_UnSubscribeToEvent( MSIPACKAGE *package, LPCWSTR event, +extern VOID ControlEvent_UnSubscribeToEvent( MSIPACKAGE *package, LPCWSTR event, LPCWSTR control, LPCWSTR attribute ); /* User Interface messages from the actions */ -void ui_progress(MSIPACKAGE *, int, int, int, int); -void ui_actiondata(MSIPACKAGE *, LPCWSTR, MSIRECORD *); +extern void ui_progress(MSIPACKAGE *, int, int, int, int); +extern void ui_actiondata(MSIPACKAGE *, LPCWSTR, MSIRECORD *); /* string consts use a number of places and defined in helpers.c*/ @@ -279,3 +282,5 @@ extern const WCHAR cszSourceDir[]; extern const WCHAR szProductCode[]; extern const WCHAR cszRootDrive[]; extern const WCHAR cszbs[]; + +#endif /* __MSI_ACTION_H__ */