16 #ifndef AACE_ADDRESS_BOOK_ADDRESS_BOOK_H 17 #define AACE_ADDRESS_BOOK_ADDRESS_BOOK_H 24 #include "AACE/Core/PlatformInterface.h" 27 namespace addressBook {
29 class AddressBookEngineInterface;
33 virtual ~AddressBook();
35 enum class AddressBookType {
57 virtual bool addName(
const std::string& entryId,
const std::string& name) = 0;
67 virtual bool addName(
const std::string& entryId,
const std::string& firstName,
const std::string& lastName) = 0;
79 const std::string& entryId,
80 const std::string& firstName,
81 const std::string& lastName,
82 const std::string& nickname) = 0;
92 virtual bool addPhone(
const std::string& entryId,
const std::string& label,
const std::string& number) = 0;
112 virtual bool addPostalAddress(
113 const std::string& entryId,
114 const std::string& label,
115 const std::string& addressLine1,
116 const std::string& addressLine2,
117 const std::string& addressLine3,
118 const std::string& city,
119 const std::string& stateOrRegion,
120 const std::string& districtOrCounty,
121 const std::string& postalCode,
122 const std::string& country,
123 float latitudeInDegrees,
124 float longitudeInDegrees,
125 float accuracyInMeters) = 0;
136 bool addAddressBook(
const std::string& addressBookSourceId,
const std::string& name, AddressBookType type);
144 bool removeAddressBook(
const std::string& addressBookSourceId);
155 virtual bool getEntries(
156 const std::string& addressBookSourceId,
157 std::weak_ptr<IAddressBookEntriesFactory> factory) = 0;
165 void setEngineInterface(std::shared_ptr<aace::addressBook::AddressBookEngineInterface> engineInterface);
168 std::shared_ptr<aace::addressBook::AddressBookEngineInterface> m_engineInterface;
171 inline std::ostream& operator<<(std::ostream& stream,
const AddressBook::AddressBookType& type) {
173 case AddressBook::AddressBookType::CONTACT:
176 case AddressBook::AddressBookType::NAVIGATION:
177 stream <<
"NAVIGATION";
186 #endif // AACE_ADDRESS_BOOK_ADDRESS_BOOK_H
Definition: AddressBook.h:47
Definition: AddressBook.h:26