140 lines
4.0 KiB
C++
Executable File
140 lines
4.0 KiB
C++
Executable File
#ifndef __GOLEM_H
|
|
#define __GOLEM_H
|
|
|
|
#ifndef __WINDOW_H
|
|
#include <window.h>
|
|
#endif
|
|
|
|
#ifndef __CONFIG_H
|
|
class TConfig;
|
|
#endif
|
|
|
|
#ifndef __STRINGS_H
|
|
#include <strings.h>
|
|
#endif
|
|
|
|
#ifndef __RELATION_H
|
|
class TRelation;
|
|
#endif
|
|
|
|
// @doc EXTERNAL
|
|
|
|
// @class TGolem | Classe per le gestione del Generic Object Linking & Embedding Mechanism
|
|
//
|
|
// @base public | TSortable
|
|
class TGolem : public TSortable
|
|
|
|
// @author:(INTERNAL) Guido
|
|
|
|
// @access:(INTERNAL) Private Member
|
|
{
|
|
// @cmember:(INTERNAL) Numero di GOLEM costruiti fin'ora
|
|
static long _count;
|
|
// @cmember:(INTERNAL) <c TConfig> di appoggio per leggere i paramentri
|
|
static TConfig* _config;
|
|
// @cmember:(INTERNAL) Nome del file di config
|
|
static TFilename* _path;
|
|
// @cmember:(INTERNAL) <c TRelation> dei GOLEM
|
|
static TRelation* _golem;
|
|
|
|
// @cmember:(INTERNAL) Nome della classe del GOLEM
|
|
TString16 _class;
|
|
// @cmember:(INTERNAL) Identificatore del GOLEM
|
|
long _id;
|
|
|
|
// @access Protected Member
|
|
protected:
|
|
// @cmember Ritorna il path completo dell'oggetto inserito. <p test> verifica se esiste
|
|
const TFilename& path(bool test = FALSE) const;
|
|
// @cmember Ritorna l'estensione del GOLEM
|
|
const char* ext() const;
|
|
// @cmember Ritorna il <c TConfig> di appoggio per leggere i paramentri
|
|
TConfig& config() const;
|
|
// @cmember Genera il prossimo identificatore libero
|
|
long new_id() const;
|
|
|
|
protected:// TSortable
|
|
// @cmember Confronta due GOLEM (vedi <c TSortable>)
|
|
virtual int compare(const TSortable& o) const;
|
|
|
|
// @access Public Member
|
|
public: // TObject
|
|
// @cmember Ritorna il nome della classe
|
|
virtual const char* class_name() const;
|
|
// @cmember Ritorna l'identificatore della classe
|
|
virtual word class_id() const;
|
|
// @cmember Ritorna se si tratta di un oggetto valido
|
|
virtual bool ok() const;
|
|
|
|
public:
|
|
// @cmember Ritorna l'identificatore dell'icona del GOLEM
|
|
virtual short icon() const;
|
|
// @cmember Chiama il programma di moifica del GOLEM
|
|
virtual bool edit();
|
|
// @cmember Mostra il dialog box di selezione del file
|
|
virtual bool import();
|
|
|
|
// @cmember Ritorna l'identificatore del GOLEM
|
|
long id() const
|
|
{ return _id; }
|
|
|
|
// @cmember Costruttore
|
|
TGolem(const char* cls, long id);
|
|
// @cmember Distruttore
|
|
virtual ~TGolem();
|
|
};
|
|
|
|
// @doc EXTERNAL
|
|
|
|
// @class TDDE | Classe per la gestione del DDE
|
|
//
|
|
// @base public | TObject
|
|
class TDDE : public TObject
|
|
|
|
// @comm Attualmente utilizzato all'avvio di PRASSI per comunicare al Program Manager il nome
|
|
// dell'utente in modo da comunicarlo a tutti i programmi PRASSI avviati in seguito.
|
|
|
|
// @author:(INTERNAL) Guido
|
|
|
|
// @access:(INTERNAL) Private Member
|
|
{
|
|
// @cmember:(INTERNAL) Handle della finestra Windows
|
|
word _hwnd;
|
|
// @cmember:(INTERNAL) Handle della finestra del server DDE
|
|
word _server;
|
|
// @cmember:(INTERNAL) Puntatore alla funzione di gestione dei messaggi
|
|
long _old_hook;
|
|
|
|
// @access Public Member
|
|
public:
|
|
virtual bool do_initiate(word id, const TString& topic) { return FALSE; }
|
|
virtual bool do_execute(word id, const TString& cmd) { return FALSE; }
|
|
virtual bool do_ack(word id) { _server = id; return TRUE; }
|
|
virtual bool do_terminate(word id) { return FALSE; }
|
|
virtual bool do_custom_message(word msg, word wparam, long lparam) { return FALSE; }
|
|
virtual const char* get_app_name() const { return NULL; }
|
|
virtual const char* get_topics() const { return NULL; }
|
|
|
|
// @cmember Stabilisce il collegamento dell'<p app> per i <p topic> indicati
|
|
bool initiate(const char* app, const char* topic);
|
|
// @cmember Esegue il comando <p cmd>
|
|
bool execute(const char* cmd) const;
|
|
// @cmember Lancia il server ed esegue un comando
|
|
bool execute(const char* app, const char* topic, const char* cmd, const char* filename = NULL);
|
|
// @cmember Chiude la connessione
|
|
void terminate();
|
|
|
|
|
|
// @cmember Inizia a fornire i servizi di DDE server
|
|
bool start_server();
|
|
|
|
word hwnd() const { return _hwnd; }
|
|
|
|
// @cmember Costruttore
|
|
TDDE();
|
|
// @cmember Distruttore
|
|
virtual ~TDDE();
|
|
};
|
|
|
|
#endif
|