BaseExtension class
Description
This is the base class from which all other extension classes derive. This class has some common functions that should be implemented in some cases and others that are for internal use.
class CbaseExtension { MXparamList *priv; void setPrivateExtensionData( MXparamList* pL ) const; public: CbaseExtension(); CbaseExtension( const CbaseExtension &orig ); CbaseExtension& operator=( const CbaseExtension& other ); Â void internalCreation (); virtual ~CbaseExtension(); virtual CbaseExtension* clone() const = 0; virtual const char* getName() const = 0; virtual const unsigned int getVersion() const = 0; virtual void setExtensionData( MXparamList* p ) const = 0; //User Implemented Optional Methods virtual void getFileDependencies( dword& numDependencies, char** &paths ) { numDependencies = 0; }; virtual void handleEvent( const char* event , void* param ) {}; virtual void cleanup( Cmaxwell* pMaxwell ) {}; virtual void freePreview( void ) { } //Interface Methods MXparamList* getExtensionData( void ) const; void setEnabled( const bool enable ); bool isEnabled( void ) const; };
getFileDependencies is useful when the extension depends on one or more files. Studio calls this function when doing a "Pack & Go" to retrieve and copy all the dependencies of a given scene. Mxnetwork also calls this function to check all the dependencies of a scene before sending it to the render nodes. Â
The following functions are called exclusively from Studio:Â initializePreview and freePreview mainly reset and free the arrays allocated in getProxyDisplay*. Keep a copy of the allocated pointers as members of the class and free them in freePreview.
Â
getFileDependencies
virtual void getFileDependencies( dword& numDependencies, char**& paths );
This function returns all the paths of the files that the extension depends on.
Arguments
dword& numDependencies
: output, number of paths.
char**& paths
 : output, array of paths. On entry, the pointer is NULL. Allocate with malloc.
Returns
nothing.
Â
freePreview
virtual void
freePreview( void );
Free the allocated pointers in getProxyDisplay*.
Arguments
none.
Returns
nothing.
Â