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::OpeServer Class Referenceabstract

Opération offerte par un serveur. More...

#include "cogitant/cs/opeserver.h"

Inheritance diagram for cogitantcs::OpeServer:
cogitant::OperationBase cogitant::ObservableObject cogitant::CogitantObject cogitantcs::OpeServerAddEdge cogitantcs::OpeServerAddGraphObject cogitantcs::OpeServerBannedTypes cogitantcs::OpeServerCommitEnvironmentObject cogitantcs::OpeServerCommitImmediateLess cogitantcs::OpeServerCommitSupportObject cogitantcs::OpeServerComparison cogitantcs::OpeServerConstraintSatisfaction cogitantcs::OpeServerCopyEnvironmentObject cogitantcs::OpeServerDelEdge cogitantcs::OpeServerDeleteEnvironment cogitantcs::OpeServerDeleteEnvironmentObject cogitantcs::OpeServerDelGraphObject cogitantcs::OpeServerEnvironment cogitantcs::OpeServerGraphObject cogitantcs::OpeServerImmediateLG cogitantcs::OpeServerLoadGraphs cogitantcs::OpeServerLoadSupport cogitantcs::OpeServerNewEnvironment cogitantcs::OpeServerNewEnvironmentObject cogitantcs::OpeServerNewSupportObject cogitantcs::OpeServerOperationConfig cogitantcs::OpeServerProjections cogitantcs::OpeServerRuleApply cogitantcs::OpeServerRulesClosure cogitantcs::OpeServerSaveEnvironmentObjects cogitantcs::OpeServerSaveSupport cogitantcs::OpeServerServer cogitantcs::OpeServerSetContent cogitantcs::OpeServerViewLog

Public Member Functions

Error check ()
 Vérification des paramètres. More...
 
void setQueryAnswer (cogitant::XmlDocument const *query, cogitant::XmlDocument::Element const *querynode, cogitant::XmlDocument *answer, cogitant::XmlDocument::Element *answerroot, Server *server)
 Entrée des paramètres. More...
 
virtual std::string name () const =0
 Retourne le nom de l'opération. More...
 
virtual bool canHandleQuery (cogitant::XmlDocument const *query, cogitant::XmlDocument::Element const *querynode) const
 L'opération peut-elle gérer la requête. More...
 
virtual bool canHandle (std::string const &nr) const
 L'opération peut-elle gérer la requête. More...
 
virtual bool isSpecialOperation () const
 L'opération est-elle une opération spéciale qui ne rajoute pas de noeuds dans le document XML réponse. More...
 
virtual void runSpecialOperation (std::list< std::string > &ls)
 Dans le cas où l'opération est une opération spéciale, exécute la sortie de l'opération. More...
 
Constructeurs - destructeur.
 OpeServer ()
 Constructeur par défaut. More...
 
 ~OpeServer ()
 Destructeur. More...
 
- Public Member Functions inherited from cogitant::OperationBase
virtual void run ()=0
 Lancement de l'opération. More...
 
void stop ()
 Stopper l'opération dès que possible. More...
 
bool isStopped () const
 Est-ce que l'opération a été stoppée. More...
 
 OperationBase ()
 Constructeur. More...
 
 OperationBase (OperationBase const &o)
 Constructeur par recopie. More...
 
 ~OperationBase ()
 Destructeur. More...
 
- Public Member Functions inherited from cogitant::ObservableObject
 ObservableObject ()
 Constructeur. More...
 
 ObservableObject (ObservableObject const &o)
 Constructeur par recopie. More...
 
 ~ObservableObject ()
 Destructeur. More...
 
ObserverSet const & observers () const
 Accès à l'ensemble des observateurs. More...
 
bool hasObservers () const
 Existence d'observateurs. More...
 
bool hasObservers (ObserverMessage::Type mt) const
 Existence d'observateurs qui écoutent le type de message passé. More...
 
void attachObserver (Observer *obs)
 Ajoute un nouvel observateur à l'objet. More...
 
void detachObserver (Observer *obs)
 Supprime le lien entre l'observateur et l'objet. More...
 
void notifyObservers (ObserverMessage const *msg)
 Envoie le message de modification à tous les observateurs. 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

cogitant::XmlDocument::ElementaddAnswerNode (std::string const &n, std::string const &a1="", std::string const &v1="", std::string const &a2="", std::string const &v2="", std::string const &a3="", std::string const &v3="")
 Raccourci pour ajouter un noeud réponse au document réponse. More...
 
- Protected Member Functions inherited from cogitant::ObservableObject
virtual ObserverSetallocObservers () const
 Fonction créant l'instance d'une sous classe de ObserverSet pour la représentation de l'ensemble des observateurs de l'objet. More...
 
ObserverSetobservers ()
 Accès à l'ensemble des observateurs. 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

cogitant::XmlDocument const * m_query
 Document contenant la requête à interpréter.
 
cogitant::XmlDocument::Element const * m_querynode
 Noeud du document à interpréter.
 
cogitant::XmlDocumentm_answer
 Document devant stocker la réponse.
 
cogitant::XmlDocument::Elementm_answerroot
 Noeud de m_answer recevant comme fils la réponse.
 
Serverm_server
 Serveur à l'origine de la requête.
 
- Protected Attributes inherited from cogitant::OperationBase
bool m_stop
 Arrêt de l'exécution de l'opération demandé. More...
 

Additional Inherited Members

- Public Types inherited from cogitant::OperationBase
typedef unsigned int Error
 Résultat de la vérification des arguments d'une opération. More...
 
- Static Public Attributes inherited from cogitant::OperationBase
static const Error CHECKOK
 Pas d'erreur. More...
 
static const Error ARGUMENTS
 Certains paramètres de l'opération n'ont pas été fixés. More...
 
static const Error UNUSED
 Symbole d'erreur inutilisé. More...
 

Detailed Description

Opération offerte par un serveur.

See also
Client-server architecture.

Constructor & Destructor Documentation

◆ OpeServer()

cogitantcs::OpeServer::OpeServer ( )

Constructeur par défaut.

◆ ~OpeServer()

cogitantcs::OpeServer::~OpeServer ( )

Destructeur.

Member Function Documentation

◆ addAnswerNode()

cogitant::XmlDocument::Element* cogitantcs::OpeServer::addAnswerNode ( std::string const &  n,
std::string const &  a1 = "",
std::string const &  v1 = "",
std::string const &  a2 = "",
std::string const &  v2 = "",
std::string const &  a3 = "",
std::string const &  v3 = "" 
)
protected

Raccourci pour ajouter un noeud réponse au document réponse.

Un nouveau noeud est créé dans m_answer, comme fils de m_answerroot.

Parameters
nnom du noeud réponse.
a1premier attribut.
v1valeur du premier attribut.
a2deuxième attribut.
v2valeur du deuxième attribut.
a3troisième attribut.
v3valeur du troisième attribut.
Returns
le noeud créé dans m_answer.

◆ canHandle()

virtual bool cogitantcs::OpeServer::canHandle ( std::string const &  nr) const
virtual

L'opération peut-elle gérer la requête.

Parameters
nrnom de la requête.
Returns
true ssi l'opération peut gérer la requête. Par défaut, l'opération peut gérer la requête si le nom de l'opération (name()) est égal au nom de la requête, mais il est possible de redéfinir cette méthode pour pouvoir gérer des requêtes de noms différents dans une même opération.

Reimplemented in cogitantcs::OpeServerAddGraphObject, cogitantcs::OpeServerImmediateLG, and cogitantcs::OpeServerSetContent.

◆ canHandleQuery()

virtual bool cogitantcs::OpeServer::canHandleQuery ( cogitant::XmlDocument const *  query,
cogitant::XmlDocument::Element const *  querynode 
) const
virtual

L'opération peut-elle gérer la requête.

Parameters
querydocument XML contenant la requête.
querynodenoeud de query contenant la requête.
Returns
true ssi l'opération peut gérer la requête. Par défaut, l'opération fait appel à canHandle() en lui passant comme paramètre l'intitulé de la balise. Habituellement, il est donc nécessaire de redéfinir canHandle() (ou, plus simplement, name()). Mais dans le cas où il est nécessaire de prendre en compte non seulement le nom de la balise mais aussi ses attributs, il est nécessaire de redéfinir canHandleQuery().

Reimplemented in cogitantcs::OpeServerViewLog.

◆ check()

Error cogitantcs::OpeServer::check ( )
virtual

Vérification des paramètres.

Retourne Operation::CHECKOK si l'opération peut être exécutée (méthode run()) ou un code d'erreur dans le cas contraire.

Implements cogitant::OperationBase.

◆ isSpecialOperation()

virtual bool cogitantcs::OpeServer::isSpecialOperation ( ) const
virtual

L'opération est-elle une opération spéciale qui ne rajoute pas de noeuds dans le document XML réponse.

Par défaut, non. Normalement, il n'est pas nécessaire de redéfinir cette méthode.

Reimplemented in cogitantcs::OpeServerViewLog.

◆ name()

virtual std::string cogitantcs::OpeServer::name ( ) const
pure virtual

◆ runSpecialOperation()

virtual void cogitantcs::OpeServer::runSpecialOperation ( std::list< std::string > &  ls)
virtual

Dans le cas où l'opération est une opération spéciale, exécute la sortie de l'opération.

Par défaut, ne fait rien. Normalement, il n'est pas nécessaire de redéfinir cette méthode.

Parameters
lsListe de chaînes de caractères à sortir.

Reimplemented in cogitantcs::OpeServerViewLog.

◆ setQueryAnswer()

void cogitantcs::OpeServer::setQueryAnswer ( cogitant::XmlDocument const *  query,
cogitant::XmlDocument::Element const *  querynode,
cogitant::XmlDocument answer,
cogitant::XmlDocument::Element answerroot,
Server server 
)

Entrée des paramètres.

Parameters
querydocument XML contenant la requête à analyser.
querynodenoeud de query à analyser.
answerdocument XML destiné à recevoir la réponse.
answerrootnoeud de answer devant recevoir comme fils la réponse suite à l'exécution de la requête.
serverserveur ayant lancé la requête.