BasicItem:
[simple-launcher] / misc / BasicItem.h
index 5c3cca9..d38a5fa 100644 (file)
@@ -31,6 +31,8 @@ public:
        const std::string& getType() const { return myType; }
        const std::string& getID() const { return myID; }
 
+  virtual bool load() = 0;
+
   virtual std::string getName() const = 0;
   virtual std::string getComment() const = 0;
   virtual GdkPixbuf *getIcon(int iconSize) const = 0;
@@ -62,16 +64,22 @@ class BasicItemFactory {
 private:
        BasicItemFactory();
 
+       virtual ~BasicItemFactory();
+
+public:
+       static BasicItem *create(const std::string& factoryName, const std::string& itemID);
+
 public:
        virtual const string::std& factoryName() const = 0;
 
+protected:
        virtual BasicItem *createItem(const std::string&) const = 0;
 
-protected:
        static void registerFactory(const std::string&, BasicItemFactory *);
+       static void deRegisterFactory(const std::string&, BasicItemFactory *);
 
 protected:
-       std::map<std::string, BasicItemFactory *> ourFactories;
+       static std::map<std::string, BasicItemFactory *> ourFactories;
 };
 
 struct BasicItemCollection {