2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 * @author Lukasz Marek (l.marek@samsung.com)
22 #ifndef WRTDEVICEAPIS_CONTACT_CONTACT_H_
23 #define WRTDEVICEAPIS_CONTACT_CONTACT_H_
27 #include <dpl/log/log.h>
28 #include <dpl/shared_ptr.h>
29 #include <Contact/ContactAddress.h>
30 #include <Contact/ContactEmail.h>
31 #include <Contact/ContactPhoneNumber.h>
33 namespace WrtDeviceApis {
39 typedef DPL::SharedPtr<Contact> ContactPtr;
41 /* This object represents a single contact in address book */
49 void setId(int value);
51 std::string getFullName() const;
52 void setFullName(const std::string &value);
54 std::string getFirstName() const;
55 void setFirstName(const std::string &value);
57 std::string getLastName() const;
58 void setLastName(const std::string &value);
60 const std::vector<std::string> &getNickNames() const;
61 void setNickNames(const std::vector<std::string> &value);
63 std::string getPhoneticName() const;
64 void setPhoneticName(const std::string &value);
66 const std::vector<ContactAddressPtr> &getAddresses() const;
67 void setAddresses(const std::vector<ContactAddressPtr> &value);
69 std::string getPhotoUri() const;
70 void setPhotoUri(const std::string &value);
72 std::string getRingTonePath() const;
73 void setRingTonePath(const std::string &value);
75 const std::vector<ContactPhoneNumberPtr> &getPhoneNumbers() const;
76 void setPhoneNumbers(const std::vector<ContactPhoneNumberPtr> &value);
78 const std::vector<ContactEmailPtr> &getEmails() const;
79 void setEmails(const std::vector<ContactEmailPtr> &value);
81 std::string getCompany() const;
82 void setCompany(const std::string &value);
84 std::string getTitle() const;
85 void setTitle(const std::string &value);
87 const std::vector<std::string> &getGroups() const;
88 void setGroups(const std::vector<std::string> &value);
93 bool getIdIsSet() const;
94 bool getFullNameIsSet() const;
95 bool getFirstNameIsSet() const;
96 bool getLastNameIsSet() const;
97 bool getCompanyIsSet() const;
98 bool getTitleIsSet() const;
99 bool getPhotoIsSet() const;
100 bool getNicknameIsSet() const;
101 bool getPhoneticIsSet() const;
102 bool getAddressIsSet() const;
103 bool getPhoneNumberIsSet() const;
104 bool getEmailIsSet() const;
105 bool getRingPathIsSet() const;
109 std::string m_fullName; //display name e.g. m_firstName + m_lastName
110 std::string m_firstName;
111 std::string m_lastName;
112 std::vector<std::string> m_nicknames;
113 std::string m_phoneticName;
114 std::vector<ContactAddressPtr> m_addresses;
115 std::string m_photoUri;
116 std::string m_ringTonePath;
117 std::vector<ContactPhoneNumberPtr> m_phoneNumbers;
118 std::vector<ContactEmailPtr> m_emails;
119 std::string m_company;
121 std::vector<std::string> m_groups;
123 bool m_fullNameIsSet;
124 bool m_firstNameIsSet;
125 bool m_lastNameIsSet;
126 bool m_phoneticNameIsSet;
129 bool m_photoUriIsSet;
130 bool m_ringTonePathIsSet;
137 #endif // WRTDEVICEAPIS_CONTACT_CONTACT_H_