Code

simplify the SimpleEvent API more
authormental <mental@users.sourceforge.net>
Sat, 29 Apr 2006 20:15:33 +0000 (20:15 +0000)
committermental <mental@users.sourceforge.net>
Sat, 29 Apr 2006 20:15:33 +0000 (20:15 +0000)
ChangeLog
src/debug/simple-event.h

index b2c7771e6e00e483203761b5c1a099e789c9d112..b5ae024200e10230cda7b6df36a64431cd772b06 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2006-04-29  MenTaLguY  <mental@rydia.net>
+
+       * src/debug/simple-event.h: simplify the SimpleEvent API more
+
 2006-04-29  MenTaLguY  <mental@rydia.net>
 
        * src/debug/simple-event.h: make Debug::SimpleEvent more convenient
index cb4e85016c90ad9e86c558f88bf66c2d74f44507..ce803b1cebb1624152726c872447438eef70afb7 100644 (file)
@@ -23,7 +23,11 @@ namespace Debug {
 template <Event::Category C=Event::OTHER>
 class SimpleEvent : public Event {
 public:
-    SimpleEvent(char const *name) : _name(Util::share_string(name)) {}
+    explicit SimpleEvent(Util::ptr_shared<char> name) : _name(name) {}
+    explicit SimpleEvent(char const *name) : _name(Util::share_string(name)) {}
+
+    // default copy
+    // default assign
 
     static Category category() { return C; }
 
@@ -34,80 +38,19 @@ public:
     }
 
 protected:
-    SimpleEvent(char const *name,
-                char const *attr0, char const *value0)
-    : _name(Util::share_string(name))
+    void _addProperty(Util::ptr_shared<char> name,
+                      Util::ptr_shared<char> value)
     {
-        _addProperty(attr0, value0);
-    }
-
-    SimpleEvent(char const *name,
-                char const *attr0, char const *value0,
-                char const *attr1, char const *value1)
-    : _name(Util::share_string(name))
-    {
-        _addProperty(attr0, value0);
-        _addProperty(attr1, value1);
-    }
-
-    SimpleEvent(char const *name,
-                char const *attr0, char const *value0,
-                char const *attr1, char const *value1,
-                char const *attr2, char const *value2)
-    : _name(Util::share_string(name))
-    {
-        _addProperty(attr0, value0);
-        _addProperty(attr1, value1);
-        _addProperty(attr2, value2);
-    }
-
-    SimpleEvent(char const *name,
-                char const *attr0, char const *value0,
-                char const *attr1, char const *value1,
-                char const *attr2, char const *value2,
-                char const *attr3, char const *value3)
-    : _name(Util::share_string(name))
-    {
-        _addProperty(attr0, value0);
-        _addProperty(attr1, value1);
-        _addProperty(attr2, value2);
-        _addProperty(attr3, value3);
+        _properties.push_back(PropertyPair(name, value));
     }
-
-    SimpleEvent(char const *name,
-                char const *attr0, char const *value0,
-                char const *attr1, char const *value1,
-                char const *attr2, char const *value2,
-                char const *attr3, char const *value3,
-                char const *attr4, char const *value4)
-    : _name(Util::share_string(name))
-    {
-        _addProperty(attr0, value0);
-        _addProperty(attr1, value1);
-        _addProperty(attr2, value2);
-        _addProperty(attr3, value3);
-        _addProperty(attr4, value4);
+    void _addProperty(Util::ptr_shared<char> name, char const *value) {
+        _addProperty(name, Util::share_string(value));
     }
-
-    SimpleEvent(char const *name,
-                char const *attr0, char const *value0,
-                char const *attr1, char const *value1,
-                char const *attr2, char const *value2,
-                char const *attr3, char const *value3,
-                char const *attr4, char const *value4,
-                char const *attr5, char const *value5)
-    : _name(Util::share_string(name))
-    {
-        _addProperty(attr0, value0);
-        _addProperty(attr1, value1);
-        _addProperty(attr2, value2);
-        _addProperty(attr3, value3);
-        _addProperty(attr4, value4);
-        _addProperty(attr5, value5);
+    void _addProperty(char const *name, Util::ptr_shared<char> value) {
+        _addProperty(Util::share_string(name), value);
     }
-
     void _addProperty(char const *name, char const *value) {
-        _properties.push_back(PropertyPair(name, value));
+        _addProperty(Util::share_string(name), Util::share_string(value));
     }
 
 private: