11 #ifndef __VOP_TypeDefinitionFile__
12 #define __VOP_TypeDefinitionFile__
62 void updateOrAddDefinition(
const char *type_name,
66 bool removeDefinition(
const char *type_name );
71 bool canWrite()
const;
75 void setAllowsEditingOfTypes(
bool flag );
76 bool allowsEditingOfTypes()
const;
88 int findTypeHandleIndex(
const char *type_name );
95 bool myAllowEditingOfTypes;
112 const char * getDefaultSourceFile()
const;
115 void loadDefinitionFilesInSearchPath();
118 bool loadFile(
const char *file_path,
UT_String &errors );
135 void createOrUpdateType(
const char *old_type_name,
137 const char *source_path,
141 bool deleteType(
const char *type_name );
154 void registerDefaultFactories();
158 void registerOperatorInterests();
163 void beginDeferUpdates();
164 void endDeferUpdates();
178 void updateDefinitionsAndSourcesFromOp(
const char *op_name,
184 void loadDefinitionFiles(
const char *file_ext );
187 void registerLoadedDefinitions(
189 bool takes_precedence );
201 bool takes_precedence,
227 int myDeferUpdateCounter;
virtual void templatesUpdated(OP_Operator *op)=0
UT_Functor< VOP_TypeDefinition * > VOP_TypeDefinitionFactory
OIIO_API bool exists(const std::string &path)
GLenum GLsizei GLenum GLenum const void * table
GLsizei GLsizei GLchar * source
virtual void getSourcePath(UT_String &path) const
A class for managing the languages and custom data types in VOPs.
A generic source of the vop (connector wire) type definitions.
UT_StringMap< VOP_TypeDefinitionFactory > VOP_TypeDefinitionFactoryMap
virtual VOP_TypeDefinitionHandle getTypeDefinition(const char *type_name)=0
Returns a type definition provided by this source.
virtual void tableUpdated(OP_OperatorTable *table)=0
GLsizei const GLchar *const * path
A class for handling files and HDAs as sources of vop type definitions.
virtual void operatorDeleted(OP_Operator *op)
Represents a source of vop type definitions saved in files or inside HDAs.
UT_SharedPtr< const VOP_TypeDefinition > VOP_TypeDefinitionHandle
Define a handle for the type definition objects.