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

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

Client. More...

#include "cogitant/cs/client.h"

Inheritance diagram for cogitantcs::Client:
cogitantcs::Base cogitant::CogitantObject cogitantcs::Client_HTTP cogitantcs::Client_TCP

Public Member Functions

void executePendingQueries ()
 Envoi des requêtes en attente au serveur et attente de la réponse. More...
 
Constructeurs - destructeur.
 Client (OperationCSIO *opeio, bool localsupport, bool localobjects)
 Constructeur par défaut. More...
 
virtual ~Client ()
 Destructeur. More...
 
Modifications
void setServerEnvironment (cogitant::iSet ie)
 Choix de l'environnement parmi ceux offerts par le serveur. More...
 
void setServerEnvironment (std::string const &en)
 Choix de l'environnement parmi ceux offerts par le serveur. More...
 
virtual void close ()
 Fermeture de la connexion avec le serveur. More...
 
cogitant::XmlDocument::ElementcreatePendingQuery (std::string const &name)
 Ajoute une requête à l'ensemble des requêtes en attente. More...
 
cogitant::XmlDocument::ElementcreatePendingQuery (std::string const &name, std::string const &p1, std::string const &v1, std::string const &p2="", std::string const &v2="", std::string const &p3="", std::string const &v3="")
 Ajoute une requête à l'ensemble des requêtes en attente. More...
 
cogitant::Environmentenvironment ()
 Environnement géré. More...
 
Accesseurs
cogitant::Environment const * environment () const
 Environnement géré. More...
 
cogitant::XmlDocument const & answer () const
 Réponse reçue du serveur. More...
 
cogitant::PropertySet const & serverProperties () const
 Informations sur le serveur. More...
 
cogitant::iSet serverEnvironmentISet () const
 Identificateur de l'environnement côté serveur. More...
 
cogitant::nSet serverEnvironments () const
 Nombre d'environnements gérés par le serveur. More...
 
Requêtes.

Les requêtes peuvent être effectuées en mode bloquant ou différé.

Toutes les requêtes ont un paramètre imm (true par défaut) qui détermine le caractère "bloquant" de la requête. Si la valeur true est passée, l'appel à la méthode ne se termine pas tant que la réponse n'a pas été reçue par le serveur et l'action correspondante effectuée (création d'un type de concept, d'un graphe, etc.). Au contraire, si la valeur false est passée, la requête est mémorisée et n'est envoyée au serveur que quand la méthode executePendingQueries() est appelée, cette méthode attend aussi la réception de la réponse du serveur et execute les opérations correspondantes. Il est évidemment préférable d'utiliser cette deuxième méthode d'accès quand le serveur est disponible à travers un réseau et qu'un grand nombre de requêtes doivent être transmises. Par contre, pour les méthodes qui ont une valeur de retour, cette valeur de retour n'a de sens que dans le cas où la requête est exécutée immédiatement.

Ces méthodes peuvent lever l'exception cogitantcs::ExceptionClient dans le cas d'un problème de communication avec le serveur. A noter que les versions "non bloquantes" des requêtes ne peuvent provoquer une telle exception car la requête est simplement stockée.

La valeur de retour de la plupart de ces méthodes est l'identifiant du noeud ajouté à la requête en cours de construction. Évidemment, cette valeur n'a aucun intérêt si la requête est bloquante (imm = true). Dans ce cas, la requête est aussitot transmise au serveur et la réponse est attendue. Par contre, si la requête est mémorisée, la valeur de retour peut servir à rajouter des attributs à l'élément correspondant à la requête.

Une requête ne peut être exécutée sur le serveur que dans le cas où il connait une opération (cogitantcs::OpeServer) qui est capable de traiter cette requête. Selon la configuration du serveur, il est donc possible que certaines des requêtes ne soient pas utilisables.

cogitant::XmlDocument::ElementgetSetContent (std::string const &n, cogitant::iSet i, bool imm=true)
 Requête d'interrogation d'un élément d'un ensemble (dans l'environnement courant). More...
 
cogitant::XmlDocument::ElementgetSupportObject (SetClient< cogitant::ConceptType * > const *s, cogitant::iSet i, bool imm=true)
 
cogitant::XmlDocument::ElementgetSupportObject (SetClient< cogitant::RelationType * > const *s, cogitant::iSet i, bool imm=true)
 
cogitant::XmlDocument::ElementgetSupportObject (SetClient< cogitant::NestingType * > const *s, cogitant::iSet i, bool imm=true)
 
cogitant::XmlDocument::ElementgetSupportObject (SetClient< cogitant::Individual * > const *s, cogitant::iSet i, bool imm=true)
 
cogitant::XmlDocument::ElementgetSupportObjects (int s=0, bool imm=true)
 Interrogation de l'ensemble des éléments d'un ensemble du support. More...
 
cogitant::XmlDocument::ElementgetEnvironmentObject (cogitant::iSet i, cogitant::iSet dest=cogitant::ISET_NULL, bool imm=true)
 Transfert d'un objet de l'environnement du serveur vers le client. More...
 
cogitant::XmlDocument::ElementgetEnvironmentObjects (bool imm=true)
 Interrogation de l'ensemble des objets de l'environnement. More...
 
cogitant::XmlDocument::ElementgetImmediateLess (cogitant::PartialOrder const *s, cogitant::iSet i, bool imm=true)
 Requête d'interrogation des éléments immédiatement inférieurs. More...
 
cogitant::XmlDocument::ElementgetImmediateGreater (cogitant::PartialOrder const *s, cogitant::iSet i, bool imm=true)
 Requête d'interrogation des éléments immédiatement inférieurs. More...
 
cogitant::PartialOrder::Comparison getComparison (cogitant::PartialOrder const *s, cogitant::iSet i, cogitant::iSet j)
 Requête d'interrogation de l'ordre existant entre deux éléments d'un ordre partie. More...
 
void getServerInfo (bool imm=true)
 Requête d'interrogation des propriétés du serveur. More...
 
void commitEnvironmentObject (cogitant::iSet i, cogitant::iSet dest=cogitant::ISET_NULL, bool imm=true)
 Met à jour l'objet du serveur avec l'objet local. More...
 
cogitant::iSet newEnvironment (bool optorderc=true, bool optorderr=true, bool optordern=true, bool imm=true)
 Création d'un nouvel environnement dans le serveur. More...
 
cogitant::iSet newEnvironmentObject (cogitant::EnvironmentObject::Type ot=cogitant::EnvironmentObject::OT_GRAPH, bool imm=true)
 Création d'un nouvel objet d'environnement dans le serveur. More...
 
bool deleteEnvironmentObject (cogitant::iSet i, bool imm=true)
 Destruction d'un objet de l'environnement. More...
 
cogitant::iSet newSupportObject (char ot, bool imm=true)
 Création d'un nouveau type ou marqueur. More...
 
void commitSupportObject (char ot, cogitant::iSet i, bool imm=true)
 Mise à jour de l'objet du serveur avec l'objet local. More...
 
void commitImmediateLess (char ot, cogitant::iSet i1, cogitant::iSet i2, bool imm=true)
 Mise à jour d'un ordre partiel du serveur avec celui du client. More...
 
std::string loadSupport (std::string const &sn, cogitant::iSet env=cogitant::ISET_NULL, bool imm=true)
 Chargement d'un support dans le serveur. More...
 
std::string saveSupport (std::string const &sn, bool imm=true)
 Sauvegarde d'un support côté serveur. More...
 
std::string commitSupport (bool imm=true)
 Chargement d'un support dans le serveur à partir du support du client. More...
 
std::vector< cogitant::iSetloadGraphs (std::string const &gn, bool imm=true)
 Chargement de graphes dans le serveur. More...
 
std::string saveEnvironmentObject (std::string const &gn, cogitant::iSet i, bool imm=true)
 Sauvegarde d'un graphe (ou d'un règle) côté serveur. More...
 
std::string saveEnvironmentObjects (std::string const &gn, std::vector< cogitant::iSet > const &ids, bool imm=true)
 Sauvegarde de graphes (ou règles) côté serveur. More...
 
bool deleteEnvironment (cogitant::iSet i=cogitant::ISET_NULL, bool imm=true)
 Destruction d'un environnement. More...
 
void refreshEnvironment (bool imm=true)
 Force un rafraichissement de l'environnement depuis le serveur. More...
 
void refreshEnvironmentObject (cogitant::iSet i=cogitant::ISET_NULL)
 Force un rafraichissement depuis le serveur d'un élément de l'environnement. More...
 
- Public Member Functions inherited from cogitantcs::Base
 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 clearPendingQueries ()
 Efface l'ensemble des requêtes en attente. More...
 
cogitant::iSet partialOrderToISet (cogitant::PartialOrder const *po)
 Retourne l'identificateur d'ensemble correspondant à l'ordre partiel passé. More...
 
virtual void execAnswer (cogitant::XmlDocument::Element const *node)
 Prise en compte de la réponse reçue du serveur. More...
 
virtual void execAnswerEnvironment (cogitant::XmlDocument::Element const *node)
 Prise en compte d'une réponse environment. More...
 
virtual void execAnswerSetContent (cogitant::XmlDocument::Element const *node)
 Prise en compte d'une réponse setcontent. More...
 
virtual void execAnswerGraph (cogitant::XmlDocument::Element const *node)
 Prise en compte d'une réponse graph. More...
 
virtual void execAnswerRule (cogitant::XmlDocument::Element const *node)
 Prise en compte d'une réponse rule. More...
 
virtual void execAnswerPartialOrder (cogitant::XmlDocument::Element const *node)
 Prise en compte des réponses immediateless, immediategreater et comparison. More...
 
virtual void execAnswerBannedTypes (cogitant::XmlDocument::Element const *node)
 Prise en compte d'une réponse bannedtypes. More...
 
virtual void sendQuery (cogitant::XmlDocument const &query)
 Envoi d'une requête au serveur. More...
 
virtual void readAnswer (cogitant::XmlDocument &answer)
 Lecture d'une réponse envoyée par le serveur. More...
 
virtual void open ()
 Ouverture de la communication avec le serveur. More...
 
virtual EnvironmentAllocatorClientnewEnvironmentAllocator ()
 Création d'un allocateur pour un environnement. More...
 
- Protected Member Functions inherited from cogitantcs::Base
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...
 

Additional Inherited Members

- Protected Attributes inherited from cogitantcs::Base
bool m_headerxml
 Utilisation de documents XML comportant une entête. More...
 
OperationCSIOm_opeio
 Opération d'entrées sorties. More...
 

Detailed Description

Client.

Un client est connecté à un serveur et permet d'interroger ce dernier pour fournir un accès aux environnements présents sur le serveur comme s'il s'agissait d'environnements locaux au client. Un client ouvre la connexion vers le serveur dès le constructeur (OperationCSIO::open()) et ferme la connexion dans le destructeur. Donc les méthodes open() et close() ne doivent être utilisées que dans le cas ou on désire explicitement couper la communication avec le serveur pour la réouvrir plus tard.

See also
Client-server architecture.

Constructor & Destructor Documentation

cogitantcs::Client::Client ( OperationCSIO opeio,
bool  localsupport,
bool  localobjects 
)

Constructeur par défaut.

Parameters
opeioopérations d'entrées/sorties utilisées par le client pour communiquer avec le serveur.
localsupportsi true le support est local au client, et le serveur n'est jamais interrogé pour obtenir le support. Si false il ne faut pas charger un support dans l'environnement associé au client, car le support de l'environnement est celui du serveur.
localobjectssi true les objets de l'environnement sont locaux, et le serveur n'est jamais interrogé pour obtenir les objets.
virtual cogitantcs::Client::~Client ( )
virtual

Destructeur.

Warning
La destruction du client ne provoque pas la destruction de l'environnement (de cette façon, il est possible de couper la connexion avec le server et de conserver l'environnement obtenu, dans ce cas, il est toutefois impossible d'obtenir de nouvelles informations du serveur).

Member Function Documentation

cogitant::XmlDocument const& cogitantcs::Client::answer ( ) const

Réponse reçue du serveur.

void cogitantcs::Client::clearPendingQueries ( )
protected

Efface l'ensemble des requêtes en attente.

virtual void cogitantcs::Client::close ( )
virtual

Fermeture de la connexion avec le serveur.

Warning
Cette méthode doit être utilisée avec précaution car après appel à cette méthode, le lien avec le serveur est interrompu, ce qui signifie que si le client a besoin de faire un accès au serveur pour transférer un objet ou le résultat d'une opération, un exception sera levée car la connexion ne sera plus active. Cette méthode ne doit donc être utilisée que dans le cas où il est certain que plus aucune requête ne sera adressée au serveur. Dans ce cas, le serveur peut être libéré de la gestion de cette connextion (dans le cas d'un lien en mode connecté tel que Client_TCP).
void cogitantcs::Client::commitEnvironmentObject ( cogitant::iSet  i,
cogitant::iSet  dest = cogitant::ISET_NULL,
bool  imm = true 
)

Met à jour l'objet du serveur avec l'objet local.

Parameters
iidentificateur local de l'objet.
destidentificateur de l'objet pour le serveur (ISET_NULL pour transférer l'objet avec le même identificateur que dans le client).
immexécution immédiate.
See also
OpeServerCommitEnvironmentObject.
void cogitantcs::Client::commitImmediateLess ( char  ot,
cogitant::iSet  i1,
cogitant::iSet  i2,
bool  imm = true 
)

Mise à jour d'un ordre partiel du serveur avec celui du client.

Parameters
otordre partiel à mettre à jour ('c' type de concept, 'r' relation, 'n' emboîtement).
i1identificateur d'un type dans l'ordre partiel.
i2identificateur d'un type dans l'ordre partiel. L'appel à cette méthode modifie l'information i1 > i2. L'ordre qui est envoyé au serveur dépend de la valeur locale de i1 > i2.
immexécution immédiate.
See also
OpeServerCommitImmediateLess.
std::string cogitantcs::Client::commitSupport ( bool  imm = true)

Chargement d'un support dans le serveur à partir du support du client.

Returns
"" si le support a été correctement chargé ou l'intitulé de l'erreur si une erreur a été rencontrée par le serveur lors de l'analyse du support envoyé par le client.
Warning
Si le support du client est issu du serveur, un grand nombre de requêtes peuvent être envoyées au serveur pour récupérer entièrement le support... afin de lui renvoyer. Il est donc raisonnable d'utiliser cette méthode dans le cas où le support est local au client, mais pas dans le cas où le support est issu du serveur.
void cogitantcs::Client::commitSupportObject ( char  ot,
cogitant::iSet  i,
bool  imm = true 
)

Mise à jour de l'objet du serveur avec l'objet local.

Parameters
ottype d'objet à mettre à jour ('c' type de concept, 'r' relation, 'n' emboîtement, 'i' marqueur individuel).
iidentificateur de l'objet à mettre à jour.
immexécution immédiate.
See also
OpeServerCommitSupportObject.
cogitant::XmlDocument::Element* cogitantcs::Client::createPendingQuery ( std::string const &  name)

Ajoute une requête à l'ensemble des requêtes en attente.

Returns
le noeud (Element) ajouté à la requête en attente.
cogitant::XmlDocument::Element* cogitantcs::Client::createPendingQuery ( std::string const &  name,
std::string const &  p1,
std::string const &  v1,
std::string const &  p2 = "",
std::string const &  v2 = "",
std::string const &  p3 = "",
std::string const &  v3 = "" 
)

Ajoute une requête à l'ensemble des requêtes en attente.

Parameters
namenom de l'ordre.
p1nom du premier paramètre.
v1valeur du premier paramètre.
p2nom du deuxième paramètre.
v2valeur du second paramètre.
p3nom du troisième paramètre.
v3valeur du troisième paramètre.
bool cogitantcs::Client::deleteEnvironment ( cogitant::iSet  i = cogitant::ISET_NULL,
bool  imm = true 
)

Destruction d'un environnement.

Warning
Plus aucun autre accès à l'environnement ne doit être fait après appel à cette méthode.
Returns
true si l'environnement a été correctement détruit et false si l'environnement n'a pu être détruit. Attention, la méthode retourne false si imm vaut false.
See also
OpeServerDeleteEnvironment.
bool cogitantcs::Client::deleteEnvironmentObject ( cogitant::iSet  i,
bool  imm = true 
)

Destruction d'un objet de l'environnement.

Parameters
iIdentificateur de l'objet à détruire.
immExécution immédiate.
Returns
true si l'objet a été correctement détruit et false si l'objet n'a pu être détruit. Attention, la méthode retourne false si imm vaut false. En effet, si l'exécution n'est pas immédiate, la requête de destruction est stockée dans le document contenant les requêtes en attentes, mais elle n'est pas expédiée immédiatement au serveur. Il est donc impossible de connaître à ce moment le résultat que retournera le serveur.
See also
OpeServerDeleteEnvironmentObject.
cogitant::Environment* cogitantcs::Client::environment ( )

Environnement géré.

cogitant::Environment const* cogitantcs::Client::environment ( ) const

Environnement géré.

virtual void cogitantcs::Client::execAnswer ( cogitant::XmlDocument::Element const *  node)
protectedvirtual

Prise en compte de la réponse reçue du serveur.

Le noeud node de la réponse m_answer est interprété et l'action correspondante est exécutée, à condition que ce noeud correponde à une opération standard. Il est donc possible de redéfir cette méthode dans les sous-classes pour gérer des réponses particulières ou effectuer des traitements spéciaux sur les réponses standard.

virtual void cogitantcs::Client::execAnswerBannedTypes ( cogitant::XmlDocument::Element const *  node)
protectedvirtual

Prise en compte d'une réponse bannedtypes.

virtual void cogitantcs::Client::execAnswerEnvironment ( cogitant::XmlDocument::Element const *  node)
protectedvirtual

Prise en compte d'une réponse environment.

virtual void cogitantcs::Client::execAnswerGraph ( cogitant::XmlDocument::Element const *  node)
protectedvirtual

Prise en compte d'une réponse graph.

virtual void cogitantcs::Client::execAnswerPartialOrder ( cogitant::XmlDocument::Element const *  node)
protectedvirtual

Prise en compte des réponses immediateless, immediategreater et comparison.

virtual void cogitantcs::Client::execAnswerRule ( cogitant::XmlDocument::Element const *  node)
protectedvirtual

Prise en compte d'une réponse rule.

virtual void cogitantcs::Client::execAnswerSetContent ( cogitant::XmlDocument::Element const *  node)
protectedvirtual

Prise en compte d'une réponse setcontent.

void cogitantcs::Client::executePendingQueries ( )

Envoi des requêtes en attente au serveur et attente de la réponse.

cogitant::PartialOrder::Comparison cogitantcs::Client::getComparison ( cogitant::PartialOrder const *  s,
cogitant::iSet  i,
cogitant::iSet  j 
)

Requête d'interrogation de l'ordre existant entre deux éléments d'un ordre partie.

Parameters
sordre partiel interrogé.
iidentificateur à comparer.
jidentificateur à comparer.
Returns
résultat de la comparaison.
See also
OpeServerComparison.
cogitant::XmlDocument::Element* cogitantcs::Client::getEnvironmentObject ( cogitant::iSet  i,
cogitant::iSet  dest = cogitant::ISET_NULL,
bool  imm = true 
)

Transfert d'un objet de l'environnement du serveur vers le client.

Parameters
iidentificateur de l'objet à transférer dans le serveur.
destidentificateur de l'objet à la réception. La valeur ISET_NULL repère qu'à la réception, l'objet est stocké à la même position que dans le serveur.
immexécution immédiate.
Returns
Element XML codant la requête.
See also
OpeServerSetContent, getEnvironmentObjects().
cogitant::XmlDocument::Element* cogitantcs::Client::getEnvironmentObjects ( bool  imm = true)

Interrogation de l'ensemble des objets de l'environnement.

Parameters
immexécution immédiate.
Returns
Element XML codant la requête.
See also
OpeServerSetContent, getSupportObjects().
cogitant::XmlDocument::Element* cogitantcs::Client::getImmediateGreater ( cogitant::PartialOrder const *  s,
cogitant::iSet  i,
bool  imm = true 
)

Requête d'interrogation des éléments immédiatement inférieurs.

See also
getImmediateLess().
cogitant::XmlDocument::Element* cogitantcs::Client::getImmediateLess ( cogitant::PartialOrder const *  s,
cogitant::iSet  i,
bool  imm = true 
)

Requête d'interrogation des éléments immédiatement inférieurs.

Parameters
sordre partiel interrogé.
iidentificateur de l'élément devant être interrogé ou ISET_NULL pour recevoir les éléments immédiatement plus petits de tous les éléments de l'ordre partiel.
immexécution immédiate.
Returns
Element XML codant la requête.
See also
OpeServerImmediateLG, getImmediateLess().
void cogitantcs::Client::getServerInfo ( bool  imm = true)

Requête d'interrogation des propriétés du serveur.

Habituellement, il n'est pas nécessaire d'appeler explicitement cette méthode.

See also
serverProperties(), serverEnvironments, OpeServerServer.
cogitant::XmlDocument::Element* cogitantcs::Client::getSetContent ( std::string const &  n,
cogitant::iSet  i,
bool  imm = true 
)

Requête d'interrogation d'un élément d'un ensemble (dans l'environnement courant).

Parameters
ntype de requête (qconcepttype, etc.).
iidentificateur de l'élément devant être transféré ou ISET_NULL pour transférer tous les éléments.
immexécution immédiate.
Returns
Elément XML codant la requête.
See also
OpeServerSetContent.
cogitant::XmlDocument::Element* cogitantcs::Client::getSupportObjects ( int  s = 0,
bool  imm = true 
)

Interrogation de l'ensemble des éléments d'un ensemble du support.

Demande le transfert vers le client du contenu complet d'un ensemble d'éléments du support. Cette méthode ne sert qu'à optimiser les échanges d'information : plutot que de demander un par un les objets du support, l'exécution de cette méthode les demande tous en une seule opération, ce qui est beaucoup plus rapide.

Parameters
s0 : tous les ensembles, 1 : types de concepts, 2 : types de relations, 3 : types d'emboîtement, 4 : marqueurs individuels.
immexécution immédiate.
Returns
Element XML codant la requête.
See also
OpeServerSetContent, getEnvironmentObjects().
std::vector<cogitant::iSet> cogitantcs::Client::loadGraphs ( std::string const &  gn,
bool  imm = true 
)

Chargement de graphes dans le serveur.

Warning
Habituellement, l'appel à cette méthode devrait être suivi d'un appel à refreshEnvironment().
Returns
identificateurs des graphes chargés.
See also
OpeServerLoadGraphs.
std::string cogitantcs::Client::loadSupport ( std::string const &  sn,
cogitant::iSet  env = cogitant::ISET_NULL,
bool  imm = true 
)

Chargement d'un support dans le serveur.

Parameters
snnom du fichier support. Ce fichier est chargé par le serveur, il doit donc être accessible sur le poste qui execute le serveur.
envidentificateur de l'environnement (serveur) qui doit charger le support. Si ISET_NULL est passé (par défaut), c'est l'environnement sélectionné par le client (par setServerEnvironment()) qui charge le support.
immexécution immédiate.
Returns
"" si le support a été correctement chargé ou l'intitulé de l'erreur si une erreur a été rencontrée par le serveur lors du chargement (dans le cas où imm = true).
Warning
Dans le cas où l'environnement sélectionné par le client charge le support, l'appel à cette méthode devrait être suivi d'un appel à refreshEnvironment().
See also
OpeServerLoadSupport.
cogitant::iSet cogitantcs::Client::newEnvironment ( bool  optorderc = true,
bool  optorderr = true,
bool  optordern = true,
bool  imm = true 
)

Création d'un nouvel environnement dans le serveur.

Parameters
optordercOptimisation automatique de l'ordre sur les types de concepts (après un chargement à partir d'un fichier). Si true, l'ensemble des types de concepts (et l'ordre) ne peut être modifié après un chargement.
optorderrOptimisation automatique de l'ordre sur les types de relations (après un chargement à partir d'un fichier). Si true, l'ensemble des types de relations (et l'ordre) ne peut être modifié après un chargement.
optordernOptimisation automatique de l'ordre sur les types d'emboîtements (après un chargement à partir d'un fichier). Si true, l'ensemble des types d'emboîtements (et l'ordre) ne peut être modifié après un chargement.
immexécution immédiate.
Returns
identificateur de l'environnement créé (dans le cas où imm = true).
See also
OpeServerNewEnvironment.
virtual EnvironmentAllocatorClient* cogitantcs::Client::newEnvironmentAllocator ( )
protectedvirtual

Création d'un allocateur pour un environnement.

cogitant::iSet cogitantcs::Client::newEnvironmentObject ( cogitant::EnvironmentObject::Type  ot = cogitant::EnvironmentObject::OT_GRAPH,
bool  imm = true 
)

Création d'un nouvel objet d'environnement dans le serveur.

Parameters
ottype d'objet à créer : graphe (par défaut) ou règle.
immexécution immédiate.
Returns
identificateur de l'objet créé (dans le cas où imm = true).
Warning
Habituellement, l'appel à cette méthode devrait être suivi d'un appel à refreshEnvironment().
See also
OpeServerNewEnvironmentObject.
cogitant::iSet cogitantcs::Client::newSupportObject ( char  ot,
bool  imm = true 
)

Création d'un nouveau type ou marqueur.

Parameters
ottype d'objet à créer ('c' type de concept, 'r' relation, 'n' emboîtement, 'i' marqueur individuel).
immexécution immédiate.
Returns
identificateur du nouvel objet (dans le cas où imm = true).
Warning
Habituellement, l'appel à cette méthode devrait être suivi d'un appel à refreshEnvironment().
See also
OpeServerNewSupportObject.
virtual void cogitantcs::Client::open ( )
protectedvirtual

Ouverture de la communication avec le serveur.

cogitant::iSet cogitantcs::Client::partialOrderToISet ( cogitant::PartialOrder const *  po)
protected

Retourne l'identificateur d'ensemble correspondant à l'ordre partiel passé.

virtual void cogitantcs::Client::readAnswer ( cogitant::XmlDocument answer)
protectedvirtual

Lecture d'une réponse envoyée par le serveur.

void cogitantcs::Client::refreshEnvironment ( bool  imm = true)

Force un rafraichissement de l'environnement depuis le serveur.

Cette méthode doit être appelée pour prendre en compte de nouveaux objets de l'environnement créés dans le serveur ainsi qu'une éventuelle mise à jour de la taille du support. Après appel à cette méthode, le nombre d'objets de l'environnement est à nouveau synchronisé avec le serveur.

void cogitantcs::Client::refreshEnvironmentObject ( cogitant::iSet  i = cogitant::ISET_NULL)

Force un rafraichissement depuis le serveur d'un élément de l'environnement.

Le rafraichissement n'est pas effectué immédiatement, mais uniquement lors du premier accès à l'objet en question.

Parameters
iidentificateur de l'objet de l'environnement à refraichir, ou ISET_NULL, si tous les objets doivent être rafraichis.
Warning
Si des modifications ont été effectuées sur l'objet local, et que ces modifications n'ont pas été répercutées sur le serveur, alors ces modifications sont perdues car l'objet local est supprimé.
std::string cogitantcs::Client::saveEnvironmentObject ( std::string const &  gn,
cogitant::iSet  i,
bool  imm = true 
)

Sauvegarde d'un graphe (ou d'un règle) côté serveur.

Parameters
gnnom du fichier (il s'agit du nom du fichier pour le serveur, si un nom relatif est donné, ce sera relativement au répertoire courant du serveur).
iidentificateur du graphe dans l'environnement courant du client.
immexécution immédiate ou pas.
Returns
"" si le graphe a été correctement sauvegardé, ou l'intitulé de l'erreur. (toujours "" si imm vaut faux).
See also
OpeServerSaveEnvironmentObjects.
std::string cogitantcs::Client::saveEnvironmentObjects ( std::string const &  gn,
std::vector< cogitant::iSet > const &  ids,
bool  imm = true 
)

Sauvegarde de graphes (ou règles) côté serveur.

Parameters
gnnom du fichier (il s'agit du nom du fichier pour le serveur, si un nom relatif est donné, ce sera relativement au répertoire courant du serveur).
idsidentificateur du graphe dans l'environnement courant du client.
immexécutoin immédiate ou pas.
Returns
"" si le graphe a été correctement sauvegardé, ou l'intitulé de l'erreur. (toujours "" si imm vaut faux).
See also
OpeServerSaveEnvironmentObjects.
std::string cogitantcs::Client::saveSupport ( std::string const &  sn,
bool  imm = true 
)

Sauvegarde d'un support côté serveur.

Parameters
snnom du fichier support.
immexécution immédiate ou pas.
Returns
"" si le support a été correctement sauvé ou l'intitulé de l'erreur.
See also
OpeServerSaveSupport.
virtual void cogitantcs::Client::sendQuery ( cogitant::XmlDocument const &  query)
protectedvirtual

Envoi d'une requête au serveur.

cogitant::iSet cogitantcs::Client::serverEnvironmentISet ( ) const

Identificateur de l'environnement côté serveur.

cogitant::nSet cogitantcs::Client::serverEnvironments ( ) const

Nombre d'environnements gérés par le serveur.

cogitant::PropertySet const& cogitantcs::Client::serverProperties ( ) const

Informations sur le serveur.

void cogitantcs::Client::setServerEnvironment ( cogitant::iSet  ie)

Choix de l'environnement parmi ceux offerts par le serveur.

Cette méthode (ou l'autre de même nom) doit être obligatoirement appelée avant tout accès au serveur.

Parameters
ieidentificateur de l'environnement offert par le serveur.
Exceptions
cogitantcs::ExceptionClientsi aucun environnement de cet identificateur n'est offert par le serveur.
void cogitantcs::Client::setServerEnvironment ( std::string const &  en)

Choix de l'environnement parmi ceux offerts par le serveur.

Cette méthode (ou l'autre de même nom) doit être obligatoirement appelée avant tout accès au serveur.

Parameters
ennom de l'environnement offert par le serveur.
Exceptions
cogitantcs::ExceptionClients'il n'existe aucun environnement de ce nom.
See also
OpeServerEnvironment.