Quick links: Tutorial - Examples - Files - Symbols.
Classes: Hierarchy - Index - List - Members.
Namespaces: Index - base - cs - display.

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
cogitantcs::Base Class Reference

Fonctionnalités communes aux clients et aux serveurs. More...

#include "cogitant/cs/base.h"

Inheritance diagram for cogitantcs::Base:
cogitant::CogitantObject cogitantcs::Client cogitantcs::Server cogitantcs::Client_HTTP cogitantcs::Client_TCP cogitantcs::Server_Simple cogitantcs::Server_TCP

Public Member Functions

 Base (OperationCSIO *opeio=NULL)
 Constructeur par défaut. More...
 
virtual ~Base ()
 Destructeur. More...
 
virtual cogitant::XmlDocument::ElementwriteObject (cogitant::XmlDocument *doc, cogitant::XmlDocument::Element *nodeparent, std::string const &name, cogitant::CogitantObject const *obj)
 Écrit un objet dans le document XML. More...
 
virtual cogitant::XmlDocument::ElementwriteGraphObject (cogitant::XmlDocument *doc, cogitant::XmlDocument::Element *nodeparent, cogitant::Graph const *obj, cogitant::iSet idobj, bool writeedges, cogitant::Environment const *env)
 Écrit un objet composant un graphe dans le document XML. More...
 
virtual cogitant::XmlDocument::ElementwriteGraph (cogitant::XmlDocument *doc, cogitant::XmlDocument::Element *nodeparent, cogitant::Graph const *obj, cogitant::Environment const *env)
 Écrit un graphe dans le document XML. More...
 
virtual cogitant::XmlDocument::ElementwriteRule (cogitant::XmlDocument *doc, cogitant::XmlDocument::Element *nodeparent, cogitant::Rule const *obj, cogitant::Environment const *env)
 Écrit une règle dans le document XML. More...
 
virtual cogitant::XmlDocument::ElementwriteProjection (cogitant::XmlDocument *doc, cogitant::XmlDocument::Element *nodeparent, cogitant::Projection const *obj)
 Écrit une projection dans le document XML. More...
 
virtual void writeProperties (cogitant::XmlDocument *doc, cogitant::XmlDocument::Element *nodeparent, cogitant::PropertySet const *pset, cogitant::iSet subid)
 Écrit les propriétés (d'un sous ensemble de propriétés) de l'objet dans le document XML. More...
 
virtual void writeProperties (cogitant::XmlDocument *doc, cogitant::XmlDocument::Element *nodeparent, cogitant::CogitantObject const *obj)
 Écrit les propriétés de l'objet dans le document XML. More...
 
virtual void writeAttributes (cogitant::XmlDocument *doc, cogitant::XmlDocument::Element *nodeparent, cogitant::CogitantObject const *obj)
 Ecrit les attributs spécifiques à l'objet dans le document XML. More...
 
virtual void readAttributes (cogitant::XmlDocument const &doc, cogitant::XmlDocument::Element const *nodeparent, cogitant::CogitantObject *obj)
 Lecture des attributs dans le document XML et affectation à un objet. More...
 
virtual void readProperties (cogitant::XmlDocument const &doc, cogitant::XmlDocument::Element const *nodeparent, cogitant::PropertySet &ps)
 Lecture des propriétés dans le document XML et affectation à un objet. More...
 
virtual cogitant::GraphreadGraph (cogitant::XmlDocument const &doc, cogitant::XmlDocument::Element const *node, cogitant::Environment *env)
 Création du graphe reçu. More...
 
virtual cogitant::RulereadRule (cogitant::XmlDocument const &doc, cogitant::XmlDocument::Element const *node, cogitant::Environment *env)
 Création de la règle reçue. More...
 
virtual cogitant::ProjectionreadProjection (cogitant::XmlDocument const &doc, cogitant::XmlDocument::Element const *node, cogitant::Environment *env, cogitant::Graph const *g, cogitant::Graph const *h)
 Création d'une projetion reçue. More...
 
- Public Member Functions inherited from cogitant::CogitantObject
 CogitantObject ()
 Constructeur. More...
 
 CogitantObject (CogitantObject const &o)
 Constructeur par recopie. More...
 
virtual ~CogitantObject ()
 Destructeur. More...
 
PropertySetproperties ()
 Accès à l'ensemble des propriétés. More...
 
virtual std::string toString () const
 Transformation en chaîne de caractères. More...
 
std::string className () const
 Nom de la classe. More...
 
PropertySet const * properties () const
 Accès en lecture seule à l'ensemble des propriétés. More...
 
bool hasProperties () const
 Existence de propriétés. More...
 
CogitantObjectoperator= (CogitantObject const &ob)
 Affectation. More...
 

Protected Member Functions

void useXmlHeader (bool uh)
 Utilisation de l'entête dans les documents XML échangés. More...
 
void addXmlHeader (cogitant::XmlDocument *doc, std::string const &root) const
 Ajout de l'entête au document, si nécessaire. More...
 
void addAttributeNode (cogitant::XmlDocument *doc, cogitant::XmlDocument::Element *nodeparent, std::string const &attname, std::string const &attvalue)
 Ajoute un noeud attribute. More...
 
- Protected Member Functions inherited from cogitant::CogitantObject
virtual PropertySetallocProperties () const
 Fonction créant l'instance d'une sous classe de PropertySet pour la représentation des propriétés de l'objet. More...
 

Protected Attributes

bool m_headerxml
 Utilisation de documents XML comportant une entête. More...
 
OperationCSIOm_opeio
 Opération d'entrées sorties. More...
 

Detailed Description

Fonctionnalités communes aux clients et aux serveurs.

Ces fonctionnalités concernent l'envoi et la réception d'objets de l'environnement.

See also
Client-server architecture.

Constructor & Destructor Documentation

◆ Base()

cogitantcs::Base::Base ( OperationCSIO opeio = NULL)

Constructeur par défaut.

◆ ~Base()

virtual cogitantcs::Base::~Base ( )
virtual

Destructeur.

Member Function Documentation

◆ addAttributeNode()

void cogitantcs::Base::addAttributeNode ( cogitant::XmlDocument doc,
cogitant::XmlDocument::Element nodeparent,
std::string const &  attname,
std::string const &  attvalue 
)
protected

Ajoute un noeud attribute.

Parameters
docdocument devant être modifié.
nodeparentnoeud parent.
attnamenom de l'attribut.
attvaluevaleur de l'attribut.

◆ addXmlHeader()

void cogitantcs::Base::addXmlHeader ( cogitant::XmlDocument doc,
std::string const &  root 
) const
protected

Ajout de l'entête au document, si nécessaire.

Parameters
docdocument devant être modifié.
rootnom de la balise racine (habituellement cogitantquery ou cogitantanswer).

◆ readAttributes()

virtual void cogitantcs::Base::readAttributes ( cogitant::XmlDocument const &  doc,
cogitant::XmlDocument::Element const *  nodeparent,
cogitant::CogitantObject obj 
)
virtual

Lecture des attributs dans le document XML et affectation à un objet.

Parameters
docdocument XML.
nodeparentnoeud parent des noeuds <attribute>.
objObjet à modifier.

◆ readGraph()

virtual cogitant::Graph* cogitantcs::Base::readGraph ( cogitant::XmlDocument const &  doc,
cogitant::XmlDocument::Element const *  node,
cogitant::Environment env 
)
virtual

Création du graphe reçu.

Parameters
docdocument XML.
nodenoeud contenant le graphe.
envl'environnement à utiliser pour créer le graphe.
Returns
un graphe correspondant au contenu du document XML.

◆ readProjection()

virtual cogitant::Projection* cogitantcs::Base::readProjection ( cogitant::XmlDocument const &  doc,
cogitant::XmlDocument::Element const *  node,
cogitant::Environment env,
cogitant::Graph const *  g,
cogitant::Graph const *  h 
)
virtual

Création d'une projetion reçue.

Parameters
docdocument XML.
nodenoeud contenant la projection.
envl'environnement à utiliser pour créer la projection.
gla projection à créer est une projection de g ...
h... dans h.
Returns
une projection de g dans h contenant les couples contenus dans le document XML.

◆ readProperties()

virtual void cogitantcs::Base::readProperties ( cogitant::XmlDocument const &  doc,
cogitant::XmlDocument::Element const *  nodeparent,
cogitant::PropertySet ps 
)
virtual

Lecture des propriétés dans le document XML et affectation à un objet.

Parameters
docdocument XML.
nodeparentnoeud parent du noeud <prop>.
psl'ensemble de propriétés à modifier. Si des propriétés figuraient déjà dans ps, elles sont supprimées et remplacées par celles qui sont lues dans doc.

◆ readRule()

virtual cogitant::Rule* cogitantcs::Base::readRule ( cogitant::XmlDocument const &  doc,
cogitant::XmlDocument::Element const *  node,
cogitant::Environment env 
)
virtual

Création de la règle reçue.

Parameters
docdocument XML.
nodeinoeud contenant la règle.
envl'environnement à utiliser pour créer la règle.
Returns
une règle correspondant au contenu du document XML.

◆ useXmlHeader()

void cogitantcs::Base::useXmlHeader ( bool  uh)
protected

Utilisation de l'entête dans les documents XML échangés.

◆ writeAttributes()

virtual void cogitantcs::Base::writeAttributes ( cogitant::XmlDocument doc,
cogitant::XmlDocument::Element nodeparent,
cogitant::CogitantObject const *  obj 
)
virtual

Ecrit les attributs spécifiques à l'objet dans le document XML.

◆ writeGraph()

virtual cogitant::XmlDocument::Element* cogitantcs::Base::writeGraph ( cogitant::XmlDocument doc,
cogitant::XmlDocument::Element nodeparent,
cogitant::Graph const *  obj,
cogitant::Environment const *  env 
)
virtual

Écrit un graphe dans le document XML.

◆ writeGraphObject()

virtual cogitant::XmlDocument::Element* cogitantcs::Base::writeGraphObject ( cogitant::XmlDocument doc,
cogitant::XmlDocument::Element nodeparent,
cogitant::Graph const *  obj,
cogitant::iSet  idobj,
bool  writeedges,
cogitant::Environment const *  env 
)
virtual

Écrit un objet composant un graphe dans le document XML.

◆ writeObject()

virtual cogitant::XmlDocument::Element* cogitantcs::Base::writeObject ( cogitant::XmlDocument doc,
cogitant::XmlDocument::Element nodeparent,
std::string const &  name,
cogitant::CogitantObject const *  obj 
)
virtual

Écrit un objet dans le document XML.

◆ writeProjection()

virtual cogitant::XmlDocument::Element* cogitantcs::Base::writeProjection ( cogitant::XmlDocument doc,
cogitant::XmlDocument::Element nodeparent,
cogitant::Projection const *  obj 
)
virtual

Écrit une projection dans le document XML.

◆ writeProperties() [1/2]

virtual void cogitantcs::Base::writeProperties ( cogitant::XmlDocument doc,
cogitant::XmlDocument::Element nodeparent,
cogitant::PropertySet const *  pset,
cogitant::iSet  subid 
)
virtual

Écrit les propriétés (d'un sous ensemble de propriétés) de l'objet dans le document XML.

◆ writeProperties() [2/2]

virtual void cogitantcs::Base::writeProperties ( cogitant::XmlDocument doc,
cogitant::XmlDocument::Element nodeparent,
cogitant::CogitantObject const *  obj 
)
virtual

Écrit les propriétés de l'objet dans le document XML.

◆ writeRule()

virtual cogitant::XmlDocument::Element* cogitantcs::Base::writeRule ( cogitant::XmlDocument doc,
cogitant::XmlDocument::Element nodeparent,
cogitant::Rule const *  obj,
cogitant::Environment const *  env 
)
virtual

Écrit une règle dans le document XML.

Member Data Documentation

◆ m_headerxml

bool cogitantcs::Base::m_headerxml
protected

Utilisation de documents XML comportant une entête.

Par défaut, les documents XML échangés ne comportent pas d'entête (<?xml... et <!DOCTYPE...). Si cet attribut est mis à vrai, l'entête est rajouté aux documents échangés.

◆ m_opeio

OperationCSIO* cogitantcs::Base::m_opeio
protected

Opération d'entrées sorties.