00001 #ifndef ASSETS_H 00002 #define ASSETS_H 00003 00004 #include <stdio.h> 00005 #include <stdint.h> 00006 00007 #include "arraylist.h" 00008 #include "asset.inc" 00009 #include "assets.inc" 00010 #include "batch.inc" 00011 #include "bchash.inc" 00012 #include "edl.inc" 00013 #include "filexml.inc" 00014 #include "guicast.h" 00015 #include "linklist.h" 00016 #include "pluginserver.inc" 00017 #include "sharedlocation.h" 00018 00019 class Assets : public List<Asset> 00020 { 00021 public: 00022 Assets(EDL *edl); 00023 virtual ~Assets(); 00024 00025 int load(ArrayList<PluginServer*> *plugindb, 00026 FileXML *xml, 00027 uint32_t load_flags); 00028 int save(ArrayList<PluginServer*> *plugindb, 00029 FileXML *xml, 00030 char *output_path); 00031 Assets& operator=(Assets &assets); 00032 void copy_from(Assets *assets); 00033 00034 // Enter a new asset into the table. 00035 // If the asset already exists return the asset which exists. 00036 // If the asset doesn't exist, store a copy of the argument and return the copy. 00037 Asset* update(Asset *asset); 00038 // Update the index information for assets with the same path 00039 void update_index(Asset *asset); 00040 00041 00042 // Parent EDL 00043 EDL *edl; 00044 00045 00046 00047 00048 00049 00050 00051 00052 00053 int delete_all(); 00054 int dump(); 00055 00056 // return the asset containing this path or create a new asset containing this path 00057 Asset* update(const char *path); 00058 00059 // Insert the asset into the list if it doesn't exist already but 00060 // don't create a new asset. 00061 void update_ptr(Asset *asset); 00062 00063 // return the asset containing this path or 0 if not found 00064 Asset* get_asset(const char *filename); 00065 // remove asset from table 00066 Asset* remove_asset(Asset *asset); 00067 00068 // return number of the asset 00069 int number_of(Asset *asset); 00070 Asset* asset_number(int number); 00071 00072 int update_old_filename(char *old_filename, char *new_filename); 00073 }; 00074 00075 00076 00077 00078 #endif
1.5.5