Opération offerte par un serveur. More...
#include "cogitant/cs/opeserver.h"
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... | |
PropertySet * | properties () |
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... | |
CogitantObject & | operator= (CogitantObject const &ob) |
Affectation. More... | |
Protected Member Functions | |
cogitant::XmlDocument::Element * | 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="") |
Raccourci pour ajouter un noeud réponse au document réponse. More... | |
Protected Member Functions inherited from cogitant::ObservableObject | |
virtual ObserverSet * | allocObservers () 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... | |
ObserverSet & | observers () |
Accès à l'ensemble des observateurs. More... | |
Protected Member Functions inherited from cogitant::CogitantObject | |
virtual PropertySet * | allocProperties () 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::XmlDocument * | m_answer |
Document devant stocker la réponse. | |
cogitant::XmlDocument::Element * | m_answerroot |
Noeud de m_answer recevant comme fils la réponse. | |
Server * | m_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... | |
Opération offerte par un serveur.
cogitantcs::OpeServer::OpeServer | ( | ) |
Constructeur par défaut.
cogitantcs::OpeServer::~OpeServer | ( | ) |
Destructeur.
|
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.
n | nom du noeud réponse. |
a1 | premier attribut. |
v1 | valeur du premier attribut. |
a2 | deuxième attribut. |
v2 | valeur du deuxième attribut. |
a3 | troisième attribut. |
v3 | valeur du troisième attribut. |
|
virtual |
L'opération peut-elle gérer la requête.
nr | nom de la requête. |
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.
|
virtual |
L'opération peut-elle gérer la requête.
query | document XML contenant la requête. |
querynode | noeud de query contenant la requête. |
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.
|
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.
|
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.
|
pure virtual |
Retourne le nom de l'opération.
Ce nom est aussi l'intitulé de la balise XML servant à lancer l'opération dans une requête.
Implemented in cogitantcs::OpeServerViewLog, cogitantcs::OpeServerDelEdge, cogitantcs::OpeServerAddEdge, cogitantcs::OpeServerDelGraphObject, cogitantcs::OpeServerAddGraphObject, cogitantcs::OpeServerOperationConfig, cogitantcs::OpeServerCopyEnvironmentObject, cogitantcs::OpeServerConstraintSatisfaction, cogitantcs::OpeServerRulesClosure, cogitantcs::OpeServerRuleApply, cogitantcs::OpeServerRuleApplications, cogitantcs::OpeServerProjections, cogitantcs::OpeServerDeleteEnvironmentObject, cogitantcs::OpeServerDeleteEnvironment, cogitantcs::OpeServerSaveEnvironmentObjects, cogitantcs::OpeServerLoadGraphs, cogitantcs::OpeServerSaveSupport, cogitantcs::OpeServerLoadSupport, cogitantcs::OpeServerCommitImmediateLess, cogitantcs::OpeServerCommitSupportObject, cogitantcs::OpeServerNewSupportObject, cogitantcs::OpeServerNewEnvironmentObject, cogitantcs::OpeServerNewEnvironment, cogitantcs::OpeServerGraphObject, cogitantcs::OpeServerBannedTypes, cogitantcs::OpeServerImmediateLG, cogitantcs::OpeServerComparison, cogitantcs::OpeServerCommitEnvironmentObject, cogitantcs::OpeServerSetContent, cogitantcs::OpeServerEnvironment, and cogitantcs::OpeServerServer.
|
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.
ls | Liste de chaînes de caractères à sortir. |
Reimplemented in cogitantcs::OpeServerViewLog.
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.
query | document XML contenant la requête à analyser. |
querynode | noeud de query à analyser. |
answer | document XML destiné à recevoir la réponse. |
answerroot | noeud de answer devant recevoir comme fils la réponse suite à l'exécution de la requête. |
server | serveur ayant lancé la requête. |