summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 9ca0778)
raw | patch | inline | side by side (parent: 9ca0778)
author | mental <mental@users.sourceforge.net> | |
Sat, 29 Apr 2006 19:21:13 +0000 (19:21 +0000) | ||
committer | mental <mental@users.sourceforge.net> | |
Sat, 29 Apr 2006 19:21:13 +0000 (19:21 +0000) |
ChangeLog | patch | blob | history | |
src/debug/event.h | patch | blob | history | |
src/debug/logger.cpp | patch | blob | history | |
src/debug/simple-event.h | patch | blob | history |
diff --git a/ChangeLog b/ChangeLog
index f3fca5e6fcd9cc32359ebfd6c6cc8d61c4d78362..37e7d7fe7474a1f44f48a3550d571d0249444df2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2006-04-29 MenTaLguY <mental@rydia.net>
+
+ * src/debug/simple-event.h: make Debug::SimpleEvent more convenient
+
2006-04-29 MenTaLguY <mental@rydia.net>
* src/debug/logger.cpp:
diff --git a/src/debug/event.h b/src/debug/event.h
index fdc50f225a00f9aad069fb2272344cf9af86e34a..54ac31476fe236143e727ce31025938112750010 100644 (file)
--- a/src/debug/event.h
+++ b/src/debug/event.h
DOCUMENT,
REFCOUNT,
EXTENSION,
+ FINALIZERS,
OTHER
};
enum { N_CATEGORIES=OTHER+1 };
diff --git a/src/debug/logger.cpp b/src/debug/logger.cpp
index f28d1526b965e1d08b24b188212ed49a94259645..fc83e89df006878579182213364194d9f0f34534 100644 (file)
--- a/src/debug/logger.cpp
+++ b/src/debug/logger.cpp
{ "DOCUMENT", Event::DOCUMENT },
{ "REFCOUNT", Event::REFCOUNT },
{ "EXTENSION", Event::EXTENSION },
+ { "FINALIZERS", Event::FINALIZERS },
{ "OTHER", Event::OTHER },
{ NULL, Event::OTHER }
};
index 3695eaa6a921edaaa405f42367c0a62d9c26f20a..cb4e85016c90ad9e86c558f88bf66c2d74f44507 100644 (file)
--- a/src/debug/simple-event.h
+++ b/src/debug/simple-event.h
#ifndef SEEN_INKSCAPE_DEBUG_SIMPLE_EVENT_H
#define SEEN_INKSCAPE_DEBUG_SIMPLE_EVENT_H
+#include <vector>
+#include "gc-alloc.h"
#include "debug/event.h"
namespace Inkscape {
template <Event::Category C=Event::OTHER>
class SimpleEvent : public Event {
public:
- SimpleEvent(Util::ptr_shared<char> name) : _name(name) {}
SimpleEvent(char const *name) : _name(Util::share_string(name)) {}
static Category category() { return C; }
Util::ptr_shared<char> name() const { return _name; }
- unsigned propertyCount() const { return 0; }
- PropertyPair property(unsigned property) const { return PropertyPair(); }
+ unsigned propertyCount() const { return _properties.size(); }
+ PropertyPair property(unsigned property) const {
+ return _properties[property];
+ }
+
+protected:
+ SimpleEvent(char const *name,
+ char const *attr0, char const *value0)
+ : _name(Util::share_string(name))
+ {
+ _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);
+ }
+
+ 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);
+ }
+
+ 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, char const *value) {
+ _properties.push_back(PropertyPair(name, value));
+ }
private:
Util::ptr_shared<char> _name;
+ std::vector<PropertyPair, GC::Alloc<PropertyPair, GC::AUTO> > _properties;
};
}