00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef __HOM_hda_h__
00017 #define __HOM_hda_h__
00018
00019 #include "HOM_API.h"
00020 #include "HOM_Defines.h"
00021 #include "HOM_Errors.h"
00022 #include "HOM_ElemPtr.h"
00023 #include "HOM_EnumModules.h"
00024 #include <UT/UT_Experimental.h>
00025 #include <vector>
00026
00027 class HOM_Node;
00028 class HOM_EnumValue;
00029 class HOM_HDADefinition;
00030
00031 SWIGOUT(%rename(hda) HOM_hda;)
00032
00033 class HOM_API HOM_hda
00034 {
00035 public:
00036 virtual ~HOM_hda()
00037 {}
00038
00039 virtual std::string __repr__() throw(HOM_Error) = 0;
00040
00041 virtual void installFile(const char *file_path,
00042 const char *oplibraries_file = NULL,
00043 bool change_oplibraries_file = true,
00044 bool force_use_assets = false)
00045 throw(HOM_OperationFailed, HOM_Error) = 0;
00046
00047 virtual void uninstallFile(const char *file_path,
00048 const char *oplibraries_file = NULL,
00049 bool change_oplibraries_file = true)
00050 throw(HOM_OperationFailed, HOM_Error) = 0;
00051
00052 virtual void reloadFile(const char *file_path)
00053 throw(HOM_OperationFailed, HOM_Error) = 0;
00054
00055 virtual void expandToDirectory(const char *file_path,
00056 const char *directory_path)
00057 throw(HOM_OperationFailed, HOM_Error) = 0;
00058
00059 virtual void collapseFromDirectory(const char *file_path,
00060 const char *directory_path)
00061 throw(HOM_OperationFailed, HOM_Error) = 0;
00062
00063 SWIGPYTHONOUT(%feature("autodoc",
00064 "loadedFiles(self) -> tuple of strings") loadedFiles;)
00065 virtual std::vector<std::string> loadedFiles()
00066 throw(HOM_OperationFailed, HOM_Error) = 0;
00067
00068 virtual void renameSource(const char *oplibraries_file,
00069 const char *source_name = NULL)
00070 throw(HOM_OperationFailed, HOM_Error) = 0;
00071
00072 SWIGPYTHONOUT(%feature("autodoc",
00073 "definitionsInFile(self, file_path) -> tuple of HDADefinitions")
00074 definitionsInFile;)
00075 virtual std::vector<HOM_ElemPtr<HOM_HDADefinition> >
00076 definitionsInFile(const char *file_path)
00077 throw(HOM_OperationFailed, HOM_Error) = 0;
00078
00079 #ifdef ENABLE_LICENSED_ASSETS
00080 virtual void encryptAsset(
00081 HOM_Node &node,
00082 const char *file_path,
00083 const char *email,
00084 const char *password,
00085 const std::vector<std::string> &license_names,
00086 bool compile_basic = true,
00087 bool compile_vopnets = true,
00088 bool compile_channels = true,
00089 bool compile_nodenames = true)
00090 throw(HOM_ObjectWasDeleted, HOM_OperationFailed, HOM_Error) = 0;
00091
00092 SWIGPYTHONOUT(%feature("autodoc",
00093 "createEntitlement(self, email, password, license_name,"
00094 " entitled_email, license_type=hou.hdaLicenseType.Execute,"
00095 " expiry=0.0)") createEntitlement;)
00096 SWIGOUT(%kwargs createEntitlement;)
00097 virtual void createEntitlement(
00098 const char *email,
00099 const char *password,
00100 const char *license_name,
00101 const char *entitled_email,
00102 HOM_EnumValue &license_type = HOM_hdaLicenseType::Execute,
00103 float expiry = 0.0f)
00104 throw(HOM_TypeError, HOM_OperationFailed, HOM_Error) = 0;
00105
00106 SWIGPYTHONOUT(%feature("autodoc",
00107 "availableEntitlements(self, email, password) -> tuple of strings")
00108 availableEntitlements;)
00109 SWIGOUT(%kwargs availableEntitlements;)
00110 virtual std::vector<std::string> availableEntitlements(
00111 const char *email,
00112 const char *password)
00113 throw(HOM_OperationFailed, HOM_Error) = 0;
00114
00115 SWIGPYTHONOUT(%feature("autodoc",
00116 "redeemEntitlements(self, email, password, license_file=None,"
00117 " entitlements=())") redeemEntitlements;)
00118 SWIGOUT(%kwargs redeemEntitlements;)
00119 virtual void redeemEntitlements(
00120 const char *email,
00121 const char *password,
00122 const char *license_file = NULL,
00123 const std::vector<std::string> &entitlements =
00124 std::vector<std::string>())
00125 throw(HOM_OperationFailed, HOM_Error) = 0;
00126 #endif // ENABLE_LICENSED_ASSETS
00127 };
00128
00129 #endif