--- /dev/null
+#ifndef LIBR2C2_OBJECTTYPE_H_
+#define LIBR2C2_OBJECTTYPE_H_
+
+#include <string>
+#include <msp/datafile/objectloader.h>
+#include "articlenumber.h"
+
+namespace R2C2 {
+
+class ObjectType
+{
+public:
+ class Loader: public Msp::DataFile::ObjectLoader<ObjectType>
+ {
+ public:
+ Loader(ObjectType &);
+ };
+
+protected:
+ ArticleNumber art_nr;
+ std::string name;
+ std::string description;
+
+ ObjectType(const ArticleNumber &a): art_nr(a) { }
+public:
+ virtual ~ObjectType() { }
+
+ const ArticleNumber &get_article_number() const { return art_nr; }
+ const std::string &get_name() const { return name; }
+ const std::string &get_description() const { return description; }
+};
+
+} // namespace R2C2
+
+#endif