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