/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ /* * Copyright © 2011 – 2017 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General * Public License along with this library; if not, see . */ #if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION) #error "Only can be included directly." #endif #ifndef __GOA_BACKEND_ENUMS_H__ #define __GOA_BACKEND_ENUMS_H__ #include G_BEGIN_DECLS /** * GoaProviderGroup: * @GOA_PROVIDER_GROUP_BRANDED: Providers with a well-known brand. For * example, Google and Facebook. * @GOA_PROVIDER_GROUP_CONTACTS: Providers that offer address book services. * For example, CardDAV. * @GOA_PROVIDER_GROUP_MAIL: Providers that offer email-like messaging * services. For example, IMAP and SMTP. * @GOA_PROVIDER_GROUP_TICKETING: Providers with ticketing * capabilities. For example, Kerberos. * @GOA_PROVIDER_GROUP_CHAT: Providers that offer chat-like messaging * capabilities. For example, XMPP, IRC. * @GOA_PROVIDER_GROUP_INVALID: Used for error handling. No provider * should belong to this group. * * An enum for specifying which group a provider belongs to. This is * can be used to organize the providers while displaying them in an * user interface. */ typedef enum { GOA_PROVIDER_GROUP_BRANDED, GOA_PROVIDER_GROUP_CONTACTS, GOA_PROVIDER_GROUP_MAIL, GOA_PROVIDER_GROUP_TICKETING, GOA_PROVIDER_GROUP_CHAT, GOA_PROVIDER_GROUP_INVALID } GoaProviderGroup; /** * GoaProviderFeatures: * @GOA_PROVIDER_FEATURE_BRANDED: Common providers to be highlighted (ie. Google, OwnCloud). * @GOA_PROVIDER_FEATURE_MAIL: Mail services (ie. SMTP, IMAP). * @GOA_PROVIDER_FEATURE_CALENDAR: Calendaring services (ie. CalDAV). * @GOA_PROVIDER_FEATURE_CONTACTS: Addressbook services (ie. CardDAV). * @GOA_PROVIDER_FEATURE_CHAT: Instant messaging services (ie. XMPP, IRC). * @GOA_PROVIDER_FEATURE_DOCUMENTS: Documents storage services (ie. Google Documents). * @GOA_PROVIDER_FEATURE_PHOTOS: Photos storage services (ie. Flickr). * @GOA_PROVIDER_FEATURE_FILES: Files storage services (ie. WebDAV). * @GOA_PROVIDER_FEATURE_TICKETING: Ticketing services (ie. Kerberos). * @GOA_PROVIDER_FEATURE_READ_LATER: Read later services (eg. Pocket). * @GOA_PROVIDER_FEATURE_PRINTERS: Network printing services (e.g. Google Cloud Print). * @GOA_PROVIDER_FEATURE_MAPS: Maps related services (e.g. Foursquare, Facebook). * @GOA_PROVIDER_FEATURE_MUSIC: Music related services (e.g. Vkontakte). * @GOA_PROVIDER_FEATURE_INVALID: Used for error handling. No provider * should provide this feature. * * These flags specify the features exported by each provider. They can be * expecially useful to restrict the list of available providers when * requesting the creation of an account for a specific purpose (eg. from a * chat program). * * Since: 3.10 */ typedef enum /*< flags >*/ { GOA_PROVIDER_FEATURE_BRANDED = 1 << 1, GOA_PROVIDER_FEATURE_MAIL = 1 << 2, GOA_PROVIDER_FEATURE_CALENDAR = 1 << 3, GOA_PROVIDER_FEATURE_CONTACTS = 1 << 4, GOA_PROVIDER_FEATURE_CHAT = 1 << 5, GOA_PROVIDER_FEATURE_DOCUMENTS = 1 << 6, GOA_PROVIDER_FEATURE_PHOTOS = 1 << 7, GOA_PROVIDER_FEATURE_FILES = 1 << 8, GOA_PROVIDER_FEATURE_TICKETING = 1 << 9, GOA_PROVIDER_FEATURE_READ_LATER= 1 << 10, GOA_PROVIDER_FEATURE_PRINTERS = 1 << 11, GOA_PROVIDER_FEATURE_MAPS = 1 << 12, GOA_PROVIDER_FEATURE_MUSIC = 1 << 13, GOA_PROVIDER_FEATURE_TODO = 1 << 14, GOA_PROVIDER_FEATURE_INVALID = 0 } GoaProviderFeatures; G_END_DECLS #endif /* __GOA_BACKEND_ENUMS_H__ */