Index: /trunk/FACT++/src/EventImp.cc
===================================================================
--- /trunk/FACT++/src/EventImp.cc	(revision 14004)
+++ /trunk/FACT++/src/EventImp.cc	(revision 14005)
@@ -149,5 +149,5 @@
 //!    no real consistency check is done.
 //
-void EventImp::AddAllowedStates(const char *states)
+void EventImp::AddAllowedStates(const string &states)
 {
     stringstream stream(states);
Index: /trunk/FACT++/src/EventImp.h
===================================================================
--- /trunk/FACT++/src/EventImp.h	(revision 14004)
+++ /trunk/FACT++/src/EventImp.h	(revision 14005)
@@ -44,5 +44,5 @@
     // Handling of the states
     void AddAllowedState(int state);
-    void AddAllowedStates(const char *states);
+    void AddAllowedStates(const std::string &states);
 
     bool IsStateAllowed(int state) const;
Index: /trunk/FACT++/src/StateMachineImp.cc
===================================================================
--- /trunk/FACT++/src/StateMachineImp.cc	(revision 14004)
+++ /trunk/FACT++/src/StateMachineImp.cc	(revision 14005)
@@ -503,5 +503,5 @@
 //!    true if the event was found, false otherwise
 //
-EventImp *StateMachineImp::FindEvent(const std::string &evt) const
+EventImp *StateMachineImp::FindEvent(const string &evt) const
 {
     // Find the command from the list of commands and queue it
@@ -537,5 +537,5 @@
 //!    received commands is properly extracted. No check is done.
 //
-EventImp &StateMachineImp::AddEvent(const char *name, const char *states, const char *fmt)
+EventImp &StateMachineImp::AddEvent(const string &name, const string &states, const string &fmt)
 {
     EventImp *evt = CreateEvent(name, fmt);
@@ -569,9 +569,9 @@
 //!    by this command.
 //
-EventImp &StateMachineImp::AddEvent(const char *name, int s1, int s2, int s3, int s4, int s5)
+EventImp &StateMachineImp::AddEvent(const string &name, int s1, int s2, int s3, int s4, int s5)
 {
     ostringstream str;
     str << s1 << ' '  << s2 << ' ' << s3 << ' ' << s4 << ' ' << s5;
-    return AddEvent(name, str.str().c_str(), "");
+    return AddEvent(name, str.str(), "");
 }
 
@@ -597,9 +597,9 @@
 //!    by this command.
 //
-EventImp &StateMachineImp::AddEvent(const char *name, const char *fmt, int s1, int s2, int s3, int s4, int s5)
+EventImp &StateMachineImp::AddEvent(const string &name, const string &fmt, int s1, int s2, int s3, int s4, int s5)
 {
     ostringstream str;
     str << s1 << ' '  << s2 << ' ' << s3 << ' ' << s4 << ' ' << s5;
-    return AddEvent(name, str.str().c_str(), fmt);
+    return AddEvent(name, str.str(), fmt);
 }
 
Index: /trunk/FACT++/src/StateMachineImp.h
===================================================================
--- /trunk/FACT++/src/StateMachineImp.h	(revision 14004)
+++ /trunk/FACT++/src/StateMachineImp.h	(revision 14005)
@@ -81,7 +81,7 @@
     virtual std::string SetCurrentState(int state, const char *txt="", const std::string &cmd="");
 
-    EventImp &AddEvent(const char *name, const char *states, const char *fmt);
-    EventImp &AddEvent(const char *name, int s1=-1, int s2=-1, int s3=-1, int s4=-1, int s5=-1);
-    EventImp &AddEvent(const char *name, const char *fmt, int s1=-1, int s2=-1, int s3=-1, int s4=-1, int s5=-1);
+    EventImp &AddEvent(const std::string &name, const std::string &states, const std::string &fmt);
+    EventImp &AddEvent(const std::string &name, int s1=-1, int s2=-1, int s3=-1, int s4=-1, int s5=-1);
+    EventImp &AddEvent(const std::string &name, const std::string &fmt, int s1=-1, int s2=-1, int s3=-1, int s4=-1, int s5=-1);
 
     virtual void AddStateName(const int state, const std::string &name, const std::string &doc="");
