16 #ifndef AACE_CONTACTUPLOADER_CONTACTUPLOADER_ENGINE_INTERFACE_H    17 #define AACE_CONTACTUPLOADER_CONTACTUPLOADER_ENGINE_INTERFACE_H    21 #include "AACE/Core/PlatformInterface.h"    22 #include "ContactUploaderEngineInterface.h"    27 namespace contactUploader {
    29 class ContactUploaderEngineInterface {
    34     enum class ContactUploaderStatus {
    38         UPLOAD_CONTACTS_STARTED,
    43         UPLOAD_CONTACTS_UPLOADING,
    64         UPLOAD_CONTACTS_COMPLETED,
    69         UPLOAD_CONTACTS_CANCELED,
    74         UPLOAD_CONTACTS_ERROR,
    79         REMOVE_CONTACTS_STARTED,
    84         REMOVE_CONTACTS_COMPLETED,
    89         REMOVE_CONTACTS_ERROR,
    98     virtual bool onAddContactsBegin() = 0;
    99     virtual bool onAddContactsEnd() = 0;
   100     virtual bool onAddContactsCancel() = 0;
   101     virtual bool onAddContact(
const std::string& contact) = 0;
   102     virtual bool onRemoveUploadedContacts() = 0;
   105 inline std::ostream& operator<<(
   106     std::ostream& stream,
   107     const ContactUploaderEngineInterface::ContactUploaderStatus& status) {
   109         case ContactUploaderEngineInterface::ContactUploaderStatus::UPLOAD_CONTACTS_STARTED:
   110             stream << 
"UPLOAD_CONTACTS_STARTED";
   112         case ContactUploaderEngineInterface::ContactUploaderStatus::UPLOAD_CONTACTS_UPLOADING:
   113             stream << 
"UPLOAD_CONTACTS_UPLOADING";
   115         case ContactUploaderEngineInterface::ContactUploaderStatus::UPLOAD_CONTACTS_COMPLETED:
   116             stream << 
"UPLOAD_CONTACTS_COMPLETED";
   118         case ContactUploaderEngineInterface::ContactUploaderStatus::UPLOAD_CONTACTS_CANCELED:
   119             stream << 
"UPLOAD_CONTACTS_CANCELED";
   121         case ContactUploaderEngineInterface::ContactUploaderStatus::UPLOAD_CONTACTS_ERROR:
   122             stream << 
"UPLOAD_CONTACTS_ERROR";
   124         case ContactUploaderEngineInterface::ContactUploaderStatus::REMOVE_CONTACTS_STARTED:
   125             stream << 
"REMOVE_CONTACTS_STARTED";
   127         case ContactUploaderEngineInterface::ContactUploaderStatus::REMOVE_CONTACTS_COMPLETED:
   128             stream << 
"REMOVE_CONTACTS_COMPLETED";
   130         case ContactUploaderEngineInterface::ContactUploaderStatus::REMOVE_CONTACTS_ERROR:
   131             stream << 
"REMOVE_CONTACTS_ERROR";
   133         case ContactUploaderEngineInterface::ContactUploaderStatus::UNKNOWN_ERROR:
   134             stream << 
"UNKNOWN_ERROR";
   143 #endif  // AACE_CONTACTUPLOADER_CONTACTUPLOADER_ENGINE_INTERFACE_H Definition: AddressBook.h:26