blob: 3ebae2ce68e06ca0cee16ab689ae37920cfd60de (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#ifndef SOURCEOBJECT_H
#define SOURCEOBJECT_H
#include <libxml++/nodes/element.h>
#include <boost/intrusive_ptr.hpp>
#include "intrusivePtrBase.h"
class CommonObjects;
class SourceObject;
typedef boost::intrusive_ptr<SourceObject> SourceObjectPtr;
/// Base class for all Project2 components that can be placed in a Project2 script
class SourceObject : public virtual IntrusivePtrBase {
public:
SourceObject(const xmlpp::Element * p);
SourceObject(const std::string & name);
virtual ~SourceObject() = 0;
virtual void loadComplete(const CommonObjects *) = 0;
const std::string name;
const unsigned int order;
private:
static unsigned int loadOrder;
};
#endif
|