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

Public Types | Public Member Functions | Public Attributes | Protected Attributes | Friends | List of all members
cogitant::ObserverMessage Class Reference

Classe abstraite mère de tous les messages envoyés à des observateurs. More...

#include "cogitant/observermessage.h"

Inheritance diagram for cogitant::ObserverMessage:
cogitant::ObserverMessageGraph cogitant::ObserverMessageGraphNodeComeFrom cogitant::ObserverMessageGraphRuleApplication cogitant::ObserverMessageIOError cogitant::ObserverMessageOperation

Public Types

enum  Type {
  GRAPH_NODE_ADD, GRAPH_NODE_DEL, GRAPH_NODE_CHANGE, GRAPH_NODE_MERGE_BEFORE,
  GRAPH_NODE_MERGE_AFTER, GRAPH_NODE_ID_CHANGE, GRAPH_NODE_COMEFROM, GRAPH_RULE_APPLICATION,
  OPERATION_PROGRESS, IOERROR, NOTYPE
}
 Type de message. More...
 

Public Member Functions

Type type () const
 Type de message. More...
 
virtual std::string toString () const
 Retourne une chaîne de caractères décrivant le message. More...
 
virtual void destroy ()
 Destruction de l'objet. More...
 

Public Attributes

Environment const * m_environment
 Environnement concerné par le message. More...
 

Protected Member Functions

Constructeurs - destructeur.
 ObserverMessage (Type t, Environment const *env, unsigned int factoryid)
 Constructeur. More...
 
virtual ~ObserverMessage ()
 Destructeur. More...
 

Protected Attributes

Type m_type
 Type de message. More...
 

Friends

class ObserverMessageFactory
 
std::ostream & operator<< (std::ostream &os, ObserverMessage const &m)
 Opérateur de sortie. More...
 

Detailed Description

Classe abstraite mère de tous les messages envoyés à des observateurs.

Member Enumeration Documentation

◆ Type

Type de message.

Enumerator
GRAPH_NODE_ADD 

Ajout d'un noeud dans un graphe.

Un message de ce type est envoyé aux observateurs du graphe après la création du noeud. Un tel message est une instance de ObserverMessageGraph dans lequel m_inode contient l'identificateur du noeud venant d'être créé.

GRAPH_NODE_DEL 

Suppression d'un noeud dans un graphe.

Un message de ce type est envoyé aux observateurs du graphe avant la suppression du noeud. Un tel message est une instance de ObserverMessageGraph dans lequel m_inode contient l'identificateur du noeud qui va être supprimé.

GRAPH_NODE_CHANGE 

Modification des propriétés d'un noeud dans un graphe.

Un message de ce type est envoyé aux observateurs du graphe après la modification des propriétés du noeud. Un tel message est envoyé quand l'application d'une règle change le type d'un sommet concept. A noter que les modifications "directes" de propriétés de sommets (par accès à l'ensemble de propriétés ou en appelant des méthodes telles que Concept::setType() ne produisent pas de message de ce type. Un tel message est une instance de ObserverMessageGraph dans lequel m_inode contient l'identificateur du noeud qui vient d'être modifié.

See also
Graph::changeProperty(), Graph::addSimplifyConceptType().
GRAPH_NODE_MERGE_BEFORE 

Fusion de deux noeuds : avant.

Un tel message est une instance de ObserverMessageGraph dans lequel m_inode et m_isecond contiennent les identificateurs des noeuds qui vont être fusionnés.

See also
Graph::merge().
GRAPH_NODE_MERGE_AFTER 

Fusion de deux noeuds : après.

Un tel message est une instance de ObserverMessageGraph dans lequel m_inode contient l'identificateur du noeud résultat de la fusion.

See also
Graph::merge().
GRAPH_NODE_ID_CHANGE 

Changement d'identifiant d'un noeud.

Des noeuds peuvent changer d'identifiant quand des noeuds ont été supprimés et que la méthode Graph::compact() est appelée. Un tel message est une instance de ObserverMessageGraph dans lequel m_inode contient l'ancien identificateur du noeud et m_isecond le nouvel identificateur.

GRAPH_NODE_COMEFROM 

Origine de la modification ou d'un ajout d'un noeud du graphe.

Lors de l'application de l'opération de somme disjointe ou application de règle, des noeds sont ajoutés au graphe, ces noeuds sont des copies de noeuds d'un autre graphe. Dans ce cas, ce message est envoyé afin de prévenir pour chaque sommet ajouté/modifié dans un graphe, quel est l'origine de cette modification. Un tel message est une instance de ObserverMessageGraphNodeComeFrom.

GRAPH_RULE_APPLICATION 

Application d'une règle sur un graphe.

Une application de l'hypothèse d'une règle est possible sur le graphe observé. Un tel message est une instance de ObserverMessageGraphRuleApplication.

OPERATION_PROGRESS 

Avancement de l'éxécution d'une opération.

IOERROR 

Erreur (non fatale) ou avertissement lors d'une opération d'entrées/sorties.

NOTYPE 

Type non défini.

Constructor & Destructor Documentation

◆ ObserverMessage()

cogitant::ObserverMessage::ObserverMessage ( Type  t,
Environment const *  env,
unsigned int  factoryid 
)
protected

Constructeur.

Le constructeur est protected afin d'imposer le passage par ObserverMessageFactory pour la création.

◆ ~ObserverMessage()

virtual cogitant::ObserverMessage::~ObserverMessage ( )
protectedvirtual

Destructeur.

Le destructeur est protected afin d'imposer le passage par ObserverMessageFactory pour la destruction.

Member Function Documentation

◆ destroy()

virtual void cogitant::ObserverMessage::destroy ( )
virtual

Destruction de l'objet.

Cette méthode est appelée par l'ObserverMessageFactory quand un message n'est plus utilisé.

Reimplemented in cogitant::ObserverMessageIOError.

◆ toString()

virtual std::string cogitant::ObserverMessage::toString ( ) const
virtual

Retourne une chaîne de caractères décrivant le message.

Cette méthode peut être utilisée à des fins de débogage pour afficher simplement les messages associés à un ObservableObject.

See also
ObserverStream.

Reimplemented in cogitant::ObserverMessageIOError, cogitant::ObserverMessageOperation, cogitant::ObserverMessageGraphRuleApplication, cogitant::ObserverMessageGraphNodeComeFrom, and cogitant::ObserverMessageGraph.

◆ type()

Type cogitant::ObserverMessage::type ( ) const
inline

Type de message.

References CGTDLLEXPORT, and cogitant::operator<<().

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
ObserverMessage const &  m 
)
friend

Opérateur de sortie.

Envoie sur le flux de sortie la chaîne produite par l'appel à la méthode toString().

Member Data Documentation

◆ m_environment

Environment const* cogitant::ObserverMessage::m_environment

Environnement concerné par le message.

◆ m_type

Type cogitant::ObserverMessage::m_type
protected

Type de message.