xref: /haiku/src/apps/cortex/RouteApp/NodeExportContext.h (revision c90684742e7361651849be4116d0e5de3a817194)
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