1 // NodeExportContext.h 2 // * PURPOSE 3 // Extends ExportContext to include a set of nodes 4 // to be stored. This is an abstract class; implement 5 // exportUIState() to store any user-interface state 6 // info needed for the listed nodes. 7 // 8 // TO DO ++++++ GO AWAY! NodeSetIOContext provides the same 9 // functionality for both import and export... 10 // 11 // * HISTORY 12 // e.moon 7dec99 Begun 13 14 #ifndef __NodeExportContext_H__ 15 #define __NodeExportContext_H__ 16 17 #include <vector> 18 #include "ExportContext.h" 19 #include "IStateArchivable.h" 20 21 #include "cortex_defs.h" 22 __BEGIN_CORTEX_NAMESPACE 23 24 class NodeExportContext : 25 public ExportContext { 26 27 public: // *** dtor/ctor 28 virtual ~NodeExportContext() {} 29 30 NodeExportContext( 31 BDataIO* _stream, 32 BString& error) : 33 ExportContext(_stream, error) {} 34 35 public: // *** members 36 // set of nodes to export; if one or more nodes are 37 // not fit to be exported, they may be removed or 38 // set to media_node::null.node during the export process. 39 typedef vector<media_node_id> media_node_set; 40 media_node_set nodes; 41 42 public: // *** interface 43 virtual void exportUIState( 44 BMessage* archive) =0; 45 }; 46 47 __END_CORTEX_NAMESPACE 48 #endif /*__NodeExportContext_H__*/ 49