UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Public Attributes | List of all members
UrcDB1Client Class Reference

#include <UrcDB1.hpp>

Inheritance diagram for UrcDB1Client:
UrcClient UrcDB1protoMethods UrcProtocol RecItem RecDef SerialThis

Public Member Functions

 UrcDB1Client (Display *xdisplay)
 
 UrcDB1Client (Display *xdisplay, Window wid)
 
 UrcDB1Client (Widget wToplevel, long lExact)
 
void prepare_server_env ()
 
virtual Logic select_for_broadcast (Window wid)
 
virtual void good_bye_server (Window wid)
 
virtual Logic match_window (Window wid)
 
virtual Logic match_server ()
 
- Public Member Functions inherited from UrcClient
 UrcClient (Display *xdisplay, Window wid, const RecDef &protodef)
 
 UrcClient (Display *xdisplay, const RecDef &protodef)
 
virtual void broadcast_flush_changes ()
 
virtual void address_flush_changes ()
 
virtual void flush_changes ()
 
- Public Member Functions inherited from UrcProtocol
 UrcProtocol (Display *xdisplay, const RecDef &protodef, const short version[2]=NULL)
 
 UrcProtocol (const UrcProtocol &proto)
 
virtual void flush_changes (Window wid, Logic bForce=FALSE)
 
virtual Logic update_atom (Window wid, Atom atom)
 
virtual AnyValue read_atom (Window wid, int atom_i)
 
virtual Logic implements_protocol (Window wid) const
 
virtual void version (short version[2]) const
 
virtual Logic version (Window wid, short version[2]) const
 
- Public Member Functions inherited from RecItem
 RecItem (const RecDef &rdef)
 
 RecItem (const RecItem &r)
 
 RecItem (InputStream &ist)
 
 RecItem (RecDef *prdef, void *recdata)
 
void attach (void *recdata)
 
virtual ~RecItem ()
 
RecItemoperator= (const RecItem &r)
 
virtual AnyValuevalue (int dmn_i)
 
AnyValuevalue (const char *dname)
 
virtual const AnyValueget_value (int dmn_i) const
 
const AnyValueget_value (const char *dname) const
 
virtual void get_value (int dmn_i, AnyValue &av) const
 
void get_value (const char *dname, AnyValue &av) const
 
virtual void set_value (int dmn_i, const AnyValue &av)
 
void set_value (const char *dname, const AnyValue &av)
 
virtual void set_row_data (const void *row_data)
 
virtual void * get_row_data () const
 
virtual void copy_row_data (const RecDef &rdef, void *row_data) const
 
virtual void add_domain (const DomainDef &dmn)
 
virtual void serialize (OutputStream &ost) const
 
virtual void deserialize (InputStream &ist)
 
- Public Member Functions inherited from RecDef
 RecDef (const char *rtname, const DomainAr &dmns)
 
 RecDef (const char *rtname, int dmns_n, const DomainDef *dmns)
 
 RecDef (const RecDef &rdef)
 
 RecDef (const char *rtname, const RecDef &rdef1, const RecDef &rdef2)
 
 RecDef (InputStream &ist)
 
virtual ~RecDef ()
 
const char * record_name () const
 
size_t record_size () const
 
unsigned domain_count () const
 
int n2i (const char *dname) const
 
void * offset (int dmn_i, const void *base) const
 
const DomainDefdomain_def (int dmn_i) const
 
DomainDefdomain_defs () const
 
void set_options (int dmn_i, void *options)
 
bool operator== (const RecDef &rdef) const
 
bool operator!= (const RecDef &rdef) const
 
bool check_domain (const char *dname) const
 
bool check_domain (const char *dname, AtomType atype, unsigned dim=1) const
 
- Public Member Functions inherited from SerialThis
 SerialThis ()
 
 SerialThis (InputStream &ist)
 
- Public Member Functions inherited from UrcDB1protoMethods
 UrcDB1protoMethods (UrcProtocol *proto)
 
void set_app_name (const char *szAppName)
 
void set_db_object (const char *szDbName)
 
void set_db_object (const dbNameStruct &rDbName)
 
void set_project (const char *szProject)
 
void set_access_mode (const char *szMode)
 

Public Attributes

UrcDB1protoMethods match
 

Additional Inherited Members

- Protected Member Functions inherited from RecDef
 RecDef (RecDef *rdef)
 
 RecDef ()
 
void constructor (const char *rtname, const DomainAr &dmns)
 
- Protected Attributes inherited from UrcClient
Window widServer
 
- Protected Attributes inherited from UrcProtocol
Display * dpy
 
AtomAr atoms
 
Atom proto_atom
 
short proto_version [2]
 
- Protected Attributes inherited from RecItem
bool own_memory
 
void * ptr_rec
 
AnyValue ** av
 

Detailed Description

Class for UrcDB1 client. Allows to send broadcast control commands to all windows with pointed db object and project.

Constructor & Destructor Documentation

UrcDB1Client::UrcDB1Client ( Display *  xdisplay)

Create broadcasting client for UrcDB1 protocol.

UrcDB1Client::UrcDB1Client ( Display *  xdisplay,
Window  wid 
)

Create specially addressed client for UrcDB1 protocol.

UrcDB1Client::UrcDB1Client ( Widget  wToplevel,
long  lExact 
)

Create client which receives window id of the linked server from backward notification via ClientMessage events fetched by toplevel widget of the client. A env.variable with name UrcDB1notifyEnv is put to process environment to be inherited by all forked processes (and servers too). Custom number can be passed to server to have an ability to separate messages from many servers by this number.

Member Function Documentation

virtual void UrcDB1Client::good_bye_server ( Window  wid)
virtual

Implements actions to be made just on close the session with given linked server. Here is dummy implementation.

virtual Logic UrcDB1Client::match_server ( )
virtual

Check the server window (implicitly setup in widServer) for matching.

virtual Logic UrcDB1Client::match_window ( Window  wid)
virtual

Check the window for matching.

void UrcDB1Client::prepare_server_env ( )

Prepare process environment for direct link with UrcDB1 server.

virtual Logic UrcDB1Client::select_for_broadcast ( Window  wid)
virtual

Implements selection of window for broadcast sending. Selects a window which supports UrcDB1 protocol and has matched project and db object.

Reimplemented from UrcClient.

Member Data Documentation

UrcDB1protoMethods UrcDB1Client::match

Set matching rules for broadcasting change.


The documentation for this class was generated from the following file: