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 {
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<<(std::ostream& stream,
const ContactUploaderEngineInterface::ContactUploaderStatus& status) {
107 case ContactUploaderEngineInterface::ContactUploaderStatus::UPLOAD_CONTACTS_STARTED:
108 stream <<
"UPLOAD_CONTACTS_STARTED";
110 case ContactUploaderEngineInterface::ContactUploaderStatus::UPLOAD_CONTACTS_UPLOADING:
111 stream <<
"UPLOAD_CONTACTS_UPLOADING";
113 case ContactUploaderEngineInterface::ContactUploaderStatus::UPLOAD_CONTACTS_COMPLETED:
114 stream <<
"UPLOAD_CONTACTS_COMPLETED";
116 case ContactUploaderEngineInterface::ContactUploaderStatus::UPLOAD_CONTACTS_CANCELED:
117 stream <<
"UPLOAD_CONTACTS_CANCELED";
119 case ContactUploaderEngineInterface::ContactUploaderStatus::UPLOAD_CONTACTS_ERROR:
120 stream <<
"UPLOAD_CONTACTS_ERROR";
122 case ContactUploaderEngineInterface::ContactUploaderStatus::REMOVE_CONTACTS_STARTED:
123 stream <<
"REMOVE_CONTACTS_STARTED";
125 case ContactUploaderEngineInterface::ContactUploaderStatus::REMOVE_CONTACTS_COMPLETED:
126 stream <<
"REMOVE_CONTACTS_COMPLETED";
128 case ContactUploaderEngineInterface::ContactUploaderStatus::REMOVE_CONTACTS_ERROR:
129 stream <<
"REMOVE_CONTACTS_ERROR";
131 case ContactUploaderEngineInterface::ContactUploaderStatus::UNKNOWN_ERROR:
132 stream <<
"UNKNOWN_ERROR";
141 #endif // AACE_CONTACTUPLOADER_CONTACTUPLOADER_ENGINE_INTERFACE_H
Definition: AddressBook.h:26