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;
78 virtual bool addName(
const std::string& entryId,
const std::string& firstName,
const std::string& lastName,
const std::string& nickname ) = 0;
88 virtual bool addPhone(
const std::string& entryId,
const std::string& label,
const std::string& number ) = 0;
108 virtual bool addPostalAddress(
const std::string& entryId,
109 const std::string& label,
110 const std::string& addressLine1,
111 const std::string& addressLine2,
112 const std::string& addressLine3,
113 const std::string& city,
114 const std::string& stateOrRegion,
115 const std::string& districtOrCounty,
116 const std::string& postalCode,
117 const std::string& country,
118 float latitudeInDegrees,
119 float longitudeInDegrees,
120 float accuracyInMeters ) = 0;
131 bool addAddressBook(
const std::string& addressBookSourceId,
const std::string& name, AddressBookType type );
139 bool removeAddressBook(
const std::string& addressBookSourceId );
150 virtual bool getEntries(
const std::string& addressBookSourceId, std::weak_ptr<IAddressBookEntriesFactory> factory ) = 0;
158 void setEngineInterface( std::shared_ptr<aace::addressBook::AddressBookEngineInterface> engineInterface );
161 std::shared_ptr<aace::addressBook::AddressBookEngineInterface> m_engineInterface;
164 inline std::ostream& operator<<( std::ostream& stream,
const AddressBook::AddressBookType& type ) {
166 case AddressBook::AddressBookType::CONTACT:
169 case AddressBook::AddressBookType::NAVIGATION:
170 stream <<
"NAVIGATION";
179 #endif // AACE_ADDRESS_BOOK_ADDRESS_BOOK_H
Definition: AddressBook.h:47
Definition: AddressBook.h:26