TnyFolderStoreQuery

TnyFolderStoreQuery — A query for when you want to get a list of folders

Synopsis




#define             TNY_TYPE_FOLDER_STORE_QUERY_ITEM
#define             TNY_FOLDER_STORE_QUERY_ITEM         (obj)
#define             TNY_FOLDER_STORE_QUERY_ITEM_CLASS   (vtable)
#define             TNY_IS_FOLDER_STORE_QUERY_ITEM      (obj)
#define             TNY_IS_FOLDER_STORE_QUERY_ITEM_CLASS(vtable)
#define             TNY_FOLDER_STORE_QUERY_ITEM_GET_CLASS(inst)
#define             TNY_TYPE_FOLDER_STORE_QUERY_OPTION
                    TnyFolderStoreQueryItem;
                    TnyFolderStoreQuery;
GType               tny_folder_store_query_item_get_type
                                                        (void);
GType               tny_folder_store_query_option_get_type
                                                        (void);
TnyFolderStoreQuery* tny_folder_store_query_new         (void);
void                tny_folder_store_query_add_item     (TnyFolderStoreQuery *query,
                                                         const gchar *pattern,
                                                         TnyFolderStoreQueryOption options);
TnyList*            tny_folder_store_query_get_items    (TnyFolderStoreQuery *query);
TnyFolderStoreQueryOption tny_folder_store_query_item_get_options
                                                        (TnyFolderStoreQueryItem *item);
const regex_t*      tny_folder_store_query_item_get_regex
                                                        (TnyFolderStoreQueryItem *item);

Object Hierarchy


  GObject
   +----TnyFolderStoreQueryItem

  GObject
   +----TnyFolderStoreQuery

Description

A query for when you want to get a list of folders from a TnyFolderStore implementation

Details

TNY_TYPE_FOLDER_STORE_QUERY_ITEM

#define TNY_TYPE_FOLDER_STORE_QUERY_ITEM             (tny_folder_store_query_item_get_type ())


TNY_FOLDER_STORE_QUERY_ITEM()

#define TNY_FOLDER_STORE_QUERY_ITEM(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), TNY_TYPE_FOLDER_STORE_QUERY_ITEM, TnyFolderStoreQueryItem))

obj :

TNY_FOLDER_STORE_QUERY_ITEM_CLASS()

#define TNY_FOLDER_STORE_QUERY_ITEM_CLASS(vtable)    (G_TYPE_CHECK_CLASS_CAST ((vtable), TNY_TYPE_FOLDER_STORE_QUERY_ITEM, TnyFolderStoreQueryItemClass))

vtable :

TNY_IS_FOLDER_STORE_QUERY_ITEM()

#define TNY_IS_FOLDER_STORE_QUERY_ITEM(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TNY_TYPE_FOLDER_STORE_QUERY_ITEM))

obj :

TNY_IS_FOLDER_STORE_QUERY_ITEM_CLASS()

#define TNY_IS_FOLDER_STORE_QUERY_ITEM_CLASS(vtable) (G_TYPE_CHECK_CLASS_TYPE ((vtable), TNY_TYPE_FOLDER_STORE_QUERY_ITEM))

vtable :

TNY_FOLDER_STORE_QUERY_ITEM_GET_CLASS()

#define TNY_FOLDER_STORE_QUERY_ITEM_GET_CLASS(inst)  (G_TYPE_INSTANCE_GET_CLASS ((inst), TNY_TYPE_FOLDER_STORE_QUERY_ITEM, TnyFolderStoreQueryItemClass))

inst :

TNY_TYPE_FOLDER_STORE_QUERY_OPTION

#define TNY_TYPE_FOLDER_STORE_QUERY_OPTION (tny_folder_store_query_option_get_type())


TnyFolderStoreQueryItem

typedef struct _TnyFolderStoreQueryItem TnyFolderStoreQueryItem;


TnyFolderStoreQuery

typedef struct _TnyFolderStoreQuery TnyFolderStoreQuery;


tny_folder_store_query_item_get_type ()

GType               tny_folder_store_query_item_get_type
                                                        (void);

GType system helper function

Returns : a GType

tny_folder_store_query_option_get_type ()

GType               tny_folder_store_query_option_get_type
                                                        (void);

GType system helper function

Returns : a GType

tny_folder_store_query_new ()

TnyFolderStoreQuery* tny_folder_store_query_new         (void);

Create a new TnyFolderStoreQuery instance

Returns : A new TnyFolderStoreQuery instance

tny_folder_store_query_add_item ()

void                tny_folder_store_query_add_item     (TnyFolderStoreQuery *query,
                                                         const gchar *pattern,
                                                         TnyFolderStoreQueryOption options);

Add a query-item to query.

If the options contain TNY_FOLDER_STORE_QUERY_OPTION_MATCH_ON_NAME or TNY_FOLDER_STORE_QUERY_OPTION_MATCH_ON_ID then pattern will be used as regular expression for matching the property of the folders. What the properties tny_folder_get_name and tny_folder_get_id would contain, will be used while matching.

Example:

FolderStoreQuery *query = tny_folder_store_query_new ();
TnyList *folders = tny_simple_list_new ();
TnyFolderStore *store = ...; TnyIterator *iter; 
tny_folder_store_query_add_item (query, ".*GNOME.*", TNY_FOLDER_STORE_QUERY_OPTION_MATCH_ON_NAME);
tny_folder_store_get_folders (store, folders, query);
iter = tny_list_create_iterator (folders);
while (!tny_iterator_is_done (iter))
{
     TnyFolder *folder = TNY_FOLDER (tny_iterator_get_current (iter));
     g_print ("%s\n", tny_folder_get_name (folder));
     g_object_unref (folder);
     tny_iterator_next (iter);
}
g_object_unref (iter);
g_object_unref (folders); 
g_object_unref (query); 

For the options TNY_FOLDER_STORE_QUERY_OPTION_SUBSCRIBED and TNY_FOLDER_STORE_QUERY_OPTION_UNSUBSCRIBED, the folder subscription status is used.

Example:

FolderStoreQuery *query = tny_folder_store_query_new ();
TnyList *folders = tny_simple_list_new ();
TnyFolderStore *store = ...; TnyIterator *iter; 
tny_folder_store_query_add_item (query, NULL, TNY_FOLDER_STORE_QUERY_OPTION_SUBSCRIBED);
tny_folder_store_get_folders (store, folders, query);
iter = tny_list_create_iterator (folders);
while (!tny_iterator_is_done (iter))
{
     TnyFolder *folder = TNY_FOLDER (tny_iterator_get_current (iter));
     g_print ("%s\n", tny_folder_get_name (folder));
     g_object_unref (folder);
     tny_iterator_next (iter);
}
g_object_unref (iter);
g_object_unref (folders);
g_object_unref (query);

query : a TnyFolderStoreQuery object
pattern : a regular expression
options : a TnyFolderStoreQueryOption enum

tny_folder_store_query_get_items ()

TnyList*            tny_folder_store_query_get_items    (TnyFolderStoreQuery *query);

Get a list of query items in query. The return value must be unreferenced after use.

query : a TnyFolderStoreQuery object
Returns : a list of query items

tny_folder_store_query_item_get_options ()

TnyFolderStoreQueryOption tny_folder_store_query_item_get_options
                                                        (TnyFolderStoreQueryItem *item);

Get the options of item as a TnyFolderStoreQueryOption enum.

item : a TnyFolderStoreQueryItem object
Returns : the options of a query item

tny_folder_store_query_item_get_regex ()

const regex_t*      tny_folder_store_query_item_get_regex
                                                        (TnyFolderStoreQueryItem *item);

Get the compiled regular expression of item

item : a TnyFolderStoreQueryItem object
Returns : the compiled regular expression of a query item

See Also

TnyFolderStore, TnyFolder, TnyStoreAccount, TnyFolderStoreQueryOption