aGrUM  0.14.2
mixedGraphListener.h
Go to the documentation of this file.
1 /***************************************************************************
2  * Copyright (C) 2005 by Christophe GONZALES and Pierre-Henri WUILLEMIN *
3  * {prenom.nom}_at_lip6.fr *
4  * *
5  * This program is free software; you can redistribute it and/or modify *
6  * it under the terms of the GNU General Public License as published by *
7  * the Free Software Foundation; either version 2 of the License, or *
8  * (at your option) any later version. *
9  * *
10  * This program is distributed in the hope that it will be useful, *
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13  * GNU General Public License for more details. *
14  * *
15  * You should have received a copy of the GNU General Public License *
16  * along with this program; if not, write to the *
17  * Free Software Foundation, Inc., *
18  * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19  ***************************************************************************/
25 #ifndef GUM_MIXEDGRAPH_LISTENER_H
26 #define GUM_MIXEDGRAPH_LISTENER_H
27 
30 
31 namespace gum {
48  class MixedGraphListener : public Listener {
49  public:
50  // ############################################################################
52  // ############################################################################
54 
56 
61 
64 
66 
67  // ############################################################################
69  // ############################################################################
71 
73 
75  virtual void whenNodeAdded(const void* src, NodeId id) = 0;
76 
78 
80  virtual void whenNodeDeleted(const void* src, NodeId id) = 0;
81 
83 
86  virtual void whenArcAdded(const void* src, NodeId from, NodeId to) = 0;
87 
89 
92  virtual void whenArcDeleted(const void* src, NodeId from, NodeId to) = 0;
93 
95 
99  virtual void whenEdgeAdded(const void* src, NodeId id1, NodeId id2) = 0;
100 
102 
105  virtual void whenEdgeDeleted(const void* src, NodeId from, NodeId to) = 0;
106 
108 
109  protected:
112 
113  private:
115 
117 
119 
121  };
122 
123 } // namespace gum
124 
125 #ifndef GUM_NO_INLINE
127 #endif // GUM_NOINLINE
128 
129 #endif // GUM_MIXEDGRAPH_LISTENER_H
virtual void whenEdgeAdded(const void *src, NodeId id1, NodeId id2)=0
the action to take when a new edge is inserted into the graph
MixedGraph * _graph
the graph to listen to
MixedGraphListener & operator=(const MixedGraphListener &d)
copy operator (for the moment, this operation is forbidden)
Class of listener.
virtual void whenArcAdded(const void *src, NodeId from, NodeId to)=0
the action to take when a new arc is inserted into the graph
gum is the global namespace for all aGrUM entities
Definition: agrum.h:25
virtual void whenEdgeDeleted(const void *src, NodeId from, NodeId to)=0
the action to take when an edge has just been removed from the graph
Inline implementation fo base classes for mixed graphs listener.
Abstract Base class for all mixed Graph Listener.
virtual void whenNodeAdded(const void *src, NodeId id)=0
the action to take when a new node is inserted into the graph
MixedGraphListener(MixedGraph *g)
default constructor
virtual void whenNodeDeleted(const void *src, NodeId id)=0
the action to take when a node has just been removed from the graph
virtual void whenArcDeleted(const void *src, NodeId from, NodeId to)=0
the action to take when an arc has just been removed from the graph
Base classes for mixed directed/undirected graphs.
Size NodeId
Type for node ids.
Definition: graphElements.h:97
Every class who would catch signal from signaler should derive from Listener.
Definition: listener.h:72
Base class for mixed graphs.
Definition: mixedGraph.h:124