]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/spotlight_SPARQL_map.h
Add support for filetype search
[netatalk.git] / etc / afpd / spotlight_SPARQL_map.h
index 2922241d5717f05e963f7f568d62c39b4a1be393..250894b1094ad12e4c18ea028915f61199e5575b 100644 (file)
@@ -25,7 +25,13 @@ enum ssm_type {
     ssmt_str,    /* a string value that requieres a SPARQL FILTER */
     ssmt_fts,    /* a string value that will be queried with SPARQL 'fts:match' */
     ssmt_date,   /* date values are handled in a special map function map_daterange() */
-    ssmt_cnt     /* kMDItemContentType, requires special mapping */
+    ssmt_type    /* kMDItemContentType, requires special mapping */
+};
+
+enum kMDTypeMap {
+    kMDTypeMapNotSup,           /* not supported */
+    kMDTypeMapRDF,              /* query with rdf:type */
+    kMDTypeMapMime              /* query with nie:mimeType */
 };
 
 struct spotlight_sparql_map {
@@ -34,7 +40,13 @@ struct spotlight_sparql_map {
     const char *ssm_sparql_attr;
 };
 
+struct MDTypeMap {
+    const char *mdtm_value;     /* MD query value of attributes '_kMDItemGroupId' and 'kMDItemContentTypeTree' */
+    enum kMDTypeMap mdtm_type;   /* whether SPARQL query must search attribute rdf:type or nie:mime_Type */
+    const char *mdtm_sparql;    /* the SPARQL query match string */
+};
+
 extern struct spotlight_sparql_map spotlight_sparql_map[];
 extern struct spotlight_sparql_map spotlight_sparql_date_map[];
-
+extern struct MDTypeMap MDTypeMap[];
 #endif