2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
19 * @file FBaseUtilLinkInfo.h
20 * @brief This is the header file for the %LinkInfo class.
22 * This header file contains the declarations of the %LinkInfo class.
24 #ifndef _FBASE_UTIL_LINK_INFO_H_
25 #define _FBASE_UTIL_LINK_INFO_H_
27 #include <FBaseColIList.h>
28 #include <FBaseString.h>
29 #include <FBaseUtilTypes.h>
32 namespace Tizen { namespace Base { namespace Utility
37 * @brief This class provides methods for accessing the link, its type, and a string that represents the link.
41 * The %LinkInfo class provides information regarding a link. It contains methods
42 * for accessing the link, its type, and a string that represents the link.
44 class _OSP_EXPORT_ LinkInfo
45 : public Tizen::Base::Object
49 * This is the default constructor for this class.
53 * @remarks The link and text are set to empty strings and the link type is set to @c LINK_TYPE_NONE.
58 * This destructor overrides Tizen::Base::Object::~Object().
62 virtual ~LinkInfo(void);
65 * Copying of objects using this copy constructor is allowed.
69 * @param[in] value An instance of %LinkInfo
71 LinkInfo(const LinkInfo& value);
74 * Initializes an instance of %LinkInfo with the specified parameters.
78 * @param[in] linkType The link type
79 * @param[in] link The link
80 * @remarks The link's @c text is set to the same string as @c link.
81 * @see Tizen::Base::Utility::LinkType
83 LinkInfo(LinkType linkType, const Tizen::Base::String& link);
86 * Initializes an instance of %LinkInfo with the specified parameters.
90 * @param[in] linkType The link type
91 * @param[in] link The link
92 * @param[in] text A string that represents the link
93 * @see Tizen::Base::Utility::LinkType
95 LinkInfo(LinkType linkType, const Tizen::Base::String& link, const Tizen::Base::String& text);
98 * Copying of objects using this copy assignment operator is allowed.
102 * @return A reference to the calling instance
103 * @param[in] rhs An instance of %LinkInfo
105 LinkInfo& operator =(const LinkInfo& rhs);
112 * @return The string that contains the link
115 Tizen::Base::String GetLink(void) const;
122 * @param[in] link The string that contains the link
125 void SetLink(const Tizen::Base::String& link);
128 * Gets the type of the link.
132 * @return The link type
134 * @see Tizen::Base::Utility::LinkType
136 LinkType GetLinkType(void) const;
139 * Sets the type of the link.
143 * @param[in] linkType The link type
145 * @see Tizen::Base::Utility::LinkType
147 void SetLinkType(LinkType linkType);
150 * Gets the string that represents the link.
154 * @return The string that represents the link
157 Tizen::Base::String GetText(void) const;
160 * Sets the string that represents the link.
164 * @return An error code
165 * @param[in] text The string that represents the link
168 void SetText(const Tizen::Base::String& text);
173 Tizen::Base::String __link;
174 Tizen::Base::String __text;
176 friend class _LinkInfoImpl;
177 class _LinkInfoImpl* __pLinkInfoImpl;
181 }}} // Tizen::Base::Utility
183 #endif // _FBASE_UTIL_LINK_INFO_H_