71 lines
1.2 KiB
C
Raw Normal View History

#ifndef __GOLEM_H
#define __GOLEM_H
#ifndef __WINDOW_H
#include <window.h>
#endif
#ifndef __CONFIG_H
class TConfig;
#endif
#ifndef __RELATION_H
class TRelation;
#endif
// Generic Object Linking & Embedding Mechanism
class TGolem : public TSortable
{
static long _count;
static TConfig* _config;
static TFilename* _path;
static TRelation* _golem;
TString16 _class;
long _id;
protected:
const TFilename& path(bool test = FALSE) const;
const char* ext() const;
TConfig& config() const;
long new_id() const;
protected:// TSortable
virtual int compare(const TSortable& o) const;
public: // TObject
virtual const char* class_name() const;
virtual word class_id() const;
virtual bool ok() const;
public:
virtual short icon() const;
virtual bool edit();
virtual bool import();
long id() const { return _id; }
TGolem(const char* cls, long id);
virtual ~TGolem();
};
class TDDE : public TWindow
{
word _hwnd;
word _server;
long _old_hook;
public:
void set_server(word s) { _server = s; }
bool initiate(const char* app, const char* topic);
bool execute(const char* cmd) const;
void terminate();
TDDE();
virtual ~TDDE();
};
#endif