1 #ifndef __FBASSETMNG_H__
2 #define __FBASSETMNG_H__
48 #define FBSDK_DLL K_DLLIMPORT
53 #ifdef FBSDKUseNamespace
83 virtual FBString GetName()
const = 0;
88 virtual FBString GetLocalPath()
const = 0;
93 virtual FBString GetServerPath()
const = 0;
105 virtual bool GetLatest(
bool pReplaceCheckedOut =
false,
bool pSilent =
false ) = 0;
113 virtual bool CheckIn(
const FBString& pComment =
"",
bool pKeepCheckedOut =
false,
bool pSilent =
false ) = 0;
122 virtual bool CheckOut(
const FBString& pComment =
"",
bool pDontGetLocal =
false,
bool pSilent =
false ) = 0;
129 virtual bool UndoCheckOut(
bool pReplaceLocalFile =
true,
bool pSilent =
false ) = 0;
133 virtual void ShowHistory()
const = 0;
137 virtual void ShowProperties()
const = 0;
153 #define FBRegisterAssetFile( UniqueNameStr, ClassName, Label, Desc, IconFilename ) \
154 HIObject RegisterAssetFile##ClassName( HIObject ,const char* pName,void * ) \
156 ClassName *Class = new ClassName( Label ); \
157 Class->Name = UniqueNameStr; \
158 if (Class->FBCreate()) { \
159 return Class->GetHIObject(); \
165 FBLibraryModule( ClassName ) \
167 FBRegisterObject( ClassName,"Asset/AssetItem/AssetFile",Label,Desc,RegisterAssetFile##ClassName, true, IconFilename ); \
174 #define FBAssetFileDeclare( ClassName, Parent ) \
175 FBClassDeclare( ClassName,Parent); \
177 ClassName(const char* pName):Parent(pName) { FBClassInit; } \
183 #define FBAssetFileImplementation( ThisComponent ) \
184 FBClassImplementation( ThisComponent )
206 virtual bool FBCreate();
211 virtual bool IsCheckedOut()
const = 0;
216 virtual bool IsCheckedOutByMe()
const = 0;
221 virtual FBString GetCheckedOutBy()
const = 0;
235 #define FBRegisterAssetFolder( UniqueNameStr, ClassName, Label, Desc, IconFilename ) \
236 HIObject RegisterAssetFolder##ClassName( HIObject ,const char* pName,void * ) \
238 ClassName *Class = new ClassName( Label ); \
239 Class->Name = UniqueNameStr; \
240 if (Class->FBCreate()) { \
241 return Class->GetHIObject(); \
247 FBLibraryModule( ClassName ) \
249 FBRegisterObject( ClassName,"Asset/AssetItem/AssetFolder",Label,Desc,RegisterAssetFolder##ClassName, true, IconFilename ); \
256 #define FBAssetFolderDeclare( ClassName, Parent ) \
257 FBClassDeclare( ClassName,Parent); \
259 ClassName(const char* pName):Parent(pName) { FBClassInit; } \
265 #define FBAssetFolderImplementation( ThisComponent ) \
266 FBClassImplementation( ThisComponent )
288 virtual bool FBCreate();
293 virtual int GetChildCount()
const = 0;
317 virtual FBAssetFile* AddFile(
const FBString& pLocalPath,
const FBString& pComment =
"",
bool pCheckOut =
false,
bool pSilent =
false ) = 0;
339 #define FBRegisterAssetMng( UniqueNameStr, ClassName, Label, Desc, IconFilename ) \
340 HIObject RegisterAssetMng##ClassName( HIObject ,const char* pName,void * ) \
342 ClassName *Class = new ClassName( Label ); \
343 Class->Name = UniqueNameStr; \
344 Class->Description = Desc; \
345 if (Class->FBCreate()) { \
346 return Class->GetHIObject(); \
352 FBLibraryModule( ClassName ) \
354 FBRegisterObject( ClassName,"Asset/AssetMng",Label,Desc,RegisterAssetMng##ClassName, false, IconFilename ); \
361 #define FBAssetMngDeclare( ClassName, Parent ) \
362 FBClassDeclare( ClassName,Parent); \
364 ClassName(const char* pName):Parent(pName) { FBClassInit; } \
370 #define FBAssetMngImplementation( ThisComponent ) \
371 FBClassImplementation( ThisComponent )
445 virtual bool Initialize() = 0;
467 virtual bool FileIsManaged(
const FBString& pFilename ) = 0;
473 virtual bool WithinManagedPath(
const FBString& pLocalPath ) = 0;
479 virtual FBString MapLocalPathToServerPath(
const FBString& pLocalPath ) = 0;
507 virtual void ShowSettings() = 0;
512 virtual int GetFileOptions() = 0;
516 virtual bool CheckAvailability()
const = 0;
524 #ifdef FBSDKUseNamespace
#define __FBClassDeclare(Name, Parent)
For internal use only.
File -> Upload to database.
#define FB_DEFINE_COMPONENT(DllTag, Type)
Define a component and give it the ability to be a property.
Add new file automatically on save.
Ask for adding new file on save.
Ask for checkout on load.
FBPropertyString Name
Read Write Property: Unique Name.
Version Control -> Undo Check Out.
Version Control -> Show Explorer.
Version Control -> Check Out.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
Version Control -> Show History.
Check out file automatically on load.
#define IObject_Declare(IsPure)
Property class: const char * (String).
MotionBuilder SDK base class.
Class representing a folder stored in a version control database.
Support all elements from the File menu.
File -> Open from database.
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Version Control -> Disable Version Control Integration.
#define FBSDKNamespace
FBSDKNamespace define.
Version Control -> Check In.
Base class for all managed assets.
FBPropertyString Description
Read Write Property: Description of the manager.
FBString LastError
Last error string.
Support only the basics functionalities.
FBAssetMngMenuOptions
Show or hide version control menu items.
Used to access asset manager functionity to get files locally or from a server.
FBAssetMngFileOptions
Behavior of the application when working with managed files.
Version Control -> Show Properties.
Ask for check in file when closing it.
Version Control -> Get Latest.
FBString LastError
Last error string.
class FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
Version Control -> Show Reference Manager.
Support all elements from the Version Control menu.
Upload file automatically on save.
Check in file automatically when closing it.
FBPropertyInt MenuFlags
Read Write Property: Flags specifing which menu items are added by the manager.
Version Control -> Show Settings.
Class representing a file stored in a version control database.