summaryrefslogtreecommitdiff
path: root/apps/plugins/databox/edittoken.h
diff options
context:
space:
mode:
authorMichiel Van Der Kolk <not.valid@email.address>2005-05-08 14:41:41 +0000
committerMichiel Van Der Kolk <not.valid@email.address>2005-05-08 14:41:41 +0000
commitb0e010fc5142acc09b10aa4f6453dd6fbdcb8265 (patch)
tree10e9186fcc373354ff387efbcb29ff941fee5fcb /apps/plugins/databox/edittoken.h
parenta559cf2e3949fcc0482b656411ed68c1e79bb245 (diff)
downloadrockbox-b0e010fc5142acc09b10aa4f6453dd6fbdcb8265.zip
rockbox-b0e010fc5142acc09b10aa4f6453dd6fbdcb8265.tar.gz
rockbox-b0e010fc5142acc09b10aa4f6453dd6fbdcb8265.tar.bz2
rockbox-b0e010fc5142acc09b10aa4f6453dd6fbdcb8265.tar.xz
Databox!
The frontend plugin for the searchengine, creates searchengine files (rsp) Its not pretty, but it works. Only compiling for recorder and iriver for now....since i don't know about players... Also, i'm hoping someone will beautify the interface someday. PS. Editing modes aren't fully operational yet. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6432 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/databox/edittoken.h')
-rw-r--r--apps/plugins/databox/edittoken.h79
1 files changed, 79 insertions, 0 deletions
diff --git a/apps/plugins/databox/edittoken.h b/apps/plugins/databox/edittoken.h
new file mode 100644
index 0000000..a5c8d47
--- /dev/null
+++ b/apps/plugins/databox/edittoken.h
@@ -0,0 +1,79 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2005 by Michiel van der Kolk
+ *
+ * All files in this archive are subject to the GNU General Public License.
+ * See the file COPYING in the source tree root for full license agreement.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+#ifndef EDITTOKEN_H
+#define EDITTOKEN_H
+
+#define TOKEN_INVALID -1
+#define TOKEN_EOF 0 // EOF
+#define TOKEN_NOT 1 // "not"
+#define TOKEN_AND 2 // "and"
+#define TOKEN_OR 3 // "or"
+#define TOKEN_GT 4 // '>'
+#define TOKEN_GTE 5 // '>='
+#define TOKEN_LT 6 // '<'
+#define TOKEN_LTE 7 // '<='
+#define TOKEN_EQ 8 // '=='
+#define TOKEN_NE 9 // '!='
+#define TOKEN_CONTAINS 10 // "contains"
+#define TOKEN_EQUALS 11 // "equals"
+#define TOKEN_LPAREN 12 // '('
+#define TOKEN_RPAREN 13 // ')'
+#define TOKEN_NUM 14 // (0..9)+
+#define TOKEN_NUMIDENTIFIER 15 // year, trackid, bpm, etc.
+#define TOKEN_STRING 16 // (?)+
+#define TOKEN_STRINGIDENTIFIER 17 // album, artist, title, genre ...
+#define TOKEN_YEAR 18
+#define TOKEN_RATING 19
+#define TOKEN_PLAYCOUNT 20
+#define TOKEN_TITLE 21
+#define TOKEN_ARTIST 22
+#define TOKEN_ALBUM 23
+#define TOKEN_GENRE 24
+#define TOKEN_FILENAME 25
+#define TOKEN_EDIT 26
+
+#define ACCEPT_EOF 0x1
+#define ACCEPT_BOOLOP 0x2
+#define ACCEPT_NUMOP 0x4
+#define ACCEPT_STROP 0x8
+#define ACCEPT_LPAREN 0x10
+#define ACCEPT_RPAREN 0x20
+#define ACCEPT_NUMARG 0x40
+#define ACCEPT_STRARG 0x80
+#define ACCEPT_NOT 0x100
+#define ACCEPT_DELETE 0x200
+
+#define INTVALUE_YEAR 1
+#define INTVALUE_RATING 2
+#define INTVALUE_PLAYCOUNT 3
+#define INTVALUE_TITLE 4
+#define INTVALUE_ARTIST 5
+#define INTVALUE_ALBUM 6
+#define INTVALUE_GENRE 7
+#define INTVALUE_FILENAME 8
+
+struct token {
+ char kind;
+ char spelling[255];
+ long intvalue;
+};
+char *tokentypetostring(int tokentype);
+char *tokentostring(struct token *token);
+void buildtoken(int tokentype,struct token *token);
+#endif