summaryrefslogtreecommitdiffstats
path: root/akregator/src/mk4storage/metakit/src/custom.h
diff options
context:
space:
mode:
Diffstat (limited to 'akregator/src/mk4storage/metakit/src/custom.h')
-rw-r--r--akregator/src/mk4storage/metakit/src/custom.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/akregator/src/mk4storage/metakit/src/custom.h b/akregator/src/mk4storage/metakit/src/custom.h
new file mode 100644
index 000000000..80555d3b6
--- /dev/null
+++ b/akregator/src/mk4storage/metakit/src/custom.h
@@ -0,0 +1,63 @@
+// custom.h --
+// $Id$
+// This is part of Metakit, the homepage is http://www.equi4.com/metakit/
+
+/** @file
+ * Encapsulation of many custom viewer classes
+ */
+
+#ifndef __CUSTOM_H__
+#define __CUSTOM_H__
+
+#ifndef __FIELD_H__
+#include "field.h"
+#endif
+#ifndef __STORE_H__
+#include "handler.h"
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+
+class c4_CustomSeq : public c4_HandlerSeq
+{
+ c4_CustomViewer* _viewer;
+ bool _inited;
+
+public:
+ c4_CustomSeq (c4_CustomViewer* viewer_);
+ virtual ~c4_CustomSeq ();
+
+ virtual int NumRows() const;
+
+ virtual bool RestrictSearch(c4_Cursor, int&, int&);
+
+ virtual void InsertAt(int, c4_Cursor, int =1);
+ virtual void RemoveAt(int, int =1);
+ virtual void Move(int from_, int);
+
+ bool DoGet(int row_, int col_, c4_Bytes& buf_) const;
+ void DoSet(int row_, int col_, const c4_Bytes& buf_);
+
+private: // this *is* used, as override
+ virtual c4_Handler* CreateHandler(const c4_Property&);
+};
+
+/////////////////////////////////////////////////////////////////////////////
+
+ extern c4_CustomViewer* f4_CustSlice(c4_Sequence&, int, int , int);
+ extern c4_CustomViewer* f4_CustProduct(c4_Sequence&, const c4_View&);
+ extern c4_CustomViewer* f4_CustRemapWith(c4_Sequence&, const c4_View&);
+ extern c4_CustomViewer* f4_CustPair(c4_Sequence&, const c4_View&);
+ extern c4_CustomViewer* f4_CustConcat(c4_Sequence&, const c4_View&);
+ extern c4_CustomViewer* f4_CustRename(c4_Sequence&,
+ const c4_Property&, const c4_Property&);
+ extern c4_CustomViewer* f4_CustGroupBy(c4_Sequence&,
+ const c4_View&, const c4_Property&);
+ extern c4_CustomViewer* f4_CustJoinProp(c4_Sequence&,
+ const c4_ViewProp&, bool);
+ extern c4_CustomViewer* f4_CustJoin(c4_Sequence&,
+ const c4_View&, const c4_View&, bool);
+
+/////////////////////////////////////////////////////////////////////////////
+
+#endif