summaryrefslogtreecommitdiff
path: root/i/simulotron/src/gs
diff options
context:
space:
mode:
authorhaller2005-12-19 23:21:42 +0000
committerhaller2005-12-19 23:21:42 +0000
commit08665d1190b5512046797e34041575aeaccc1ec7 (patch)
tree2f388ad8bee1119fd113ce3c0041628066eeeee3 /i/simulotron/src/gs
parent001f91e6ddce33aec769348adc55f0c0b0c09534 (diff)
* Creation du fichier comc.c
* Codage de Aiguillage en progression... * Creation d'un test_aiguillage pipo (pour l'instant) * Ajout de fonctionnalité à GSMessage * Ajout de Aiguillage pour la compilation dans le Makefile.am
Diffstat (limited to 'i/simulotron/src/gs')
-rw-r--r--i/simulotron/src/gs/gs_message.cc14
-rw-r--r--i/simulotron/src/gs/gs_message.hh4
2 files changed, 18 insertions, 0 deletions
diff --git a/i/simulotron/src/gs/gs_message.cc b/i/simulotron/src/gs/gs_message.cc
index 34a4368..c0e099a 100644
--- a/i/simulotron/src/gs/gs_message.cc
+++ b/i/simulotron/src/gs/gs_message.cc
@@ -56,6 +56,13 @@ GSMessage::readGS(void * data, size_t size)
}
void
+GSMessage::getString(std::string & str, size_t size)
+{
+ str.assign(igs_, igs_ + size);
+ igs_ += size;
+}
+
+void
GSMessage::appendGS (const void * data, size_t size)
{
gs_.append(static_cast<const char *> (data), size);
@@ -81,3 +88,10 @@ GSMessage::clear(void)
gs_.clear();
setIteratorBegin();
}
+
+void
+GSMessage::delBeforeIt(void)
+{
+ gs_.erase(gs_.begin(), igs_ - 1);
+ setIteratorBegin();
+}
diff --git a/i/simulotron/src/gs/gs_message.hh b/i/simulotron/src/gs/gs_message.hh
index 2f01949..45ed43d 100644
--- a/i/simulotron/src/gs/gs_message.hh
+++ b/i/simulotron/src/gs/gs_message.hh
@@ -44,6 +44,8 @@ class GSMessage
const std::string & getGS (void) const;
/// Récupération de données de la gs
void readGS (void * data, size_t size);
+ /// Récupère des données sous forme d'une string
+ void getString (std::string & str, size_t size);
/// Ecriture à la fin de la gs
void appendGS (const void * data, size_t size);
/// Ecriture au début de la gs
@@ -52,6 +54,8 @@ class GSMessage
void setIteratorBegin(void);
/// Efface la GS
void clear(void);
+ /// Efface tout ce qu'il y a avant l'iterateur
+ void delBeforeIt(void);
};
#endif //gs_message_hh