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
 |