[content] Fix description in DownloadManager
[platform/framework/native/content.git] / inc / FCntContentSearchResult.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
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
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
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.
16 //
17 /**
18  * @file                FCntContentSearchResult.h
19  * @brief               This is the header file for the %ContentSearchResult class.
20  *
21  * This header file contains the declarations of the %ContentSearchResult class.
22  */
23
24 #ifndef _FCNT_CONTENT_SEARCH_RESULT_H_
25 #define _FCNT_CONTENT_SEARCH_RESULT_H_
26
27 #include <FBaseObject.h>
28 #include <FCntTypes.h>
29
30 namespace Tizen { namespace Content
31 {
32
33 class _ContentSearchResultImpl;
34 class ContentInfo;
35
36 /**
37  * @class       ContentSearchResult
38  * @brief       This class represents the content search result.
39  *
40  * @since       2.0
41  *
42  * @final       This class is not intended for extension.
43  *
44  * The %ContentSearchResult class gets a pointer to the ContentInfo class and retrieves the content type.
45  *
46  * The search result list comprises of this class, and each node can have a different type of %ContentInfo (ImageContentInfo, AudioContentInfo, VideoContentInfo, or OtherContentInfo).
47  * You must cast the %ContentInfo class into the appropriate content type to use the %ContentSearchResult class.
48  */
49 class _OSP_EXPORT_ ContentSearchResult
50         : public Tizen::Base::Object
51 {
52
53 public:
54         /**
55          * This is the default constructor for this class.
56          *
57          * @since               2.0
58          */
59         ContentSearchResult(void);
60
61         /**
62          * This destructor overrides Tizen::Base::Object::~Object().
63          *
64          * @since               2.0
65          */
66         virtual ~ContentSearchResult(void);
67
68         /**
69          * Gets the content type of the ContentInfo class.
70          *
71          * @since               2.0
72          *
73          * @return              The content type
74          */
75         ContentType GetContentType(void) const;
76
77         /**
78          * Gets the content information of the ContentInfo class.
79          *
80          * @since               2.0
81          *
82          * @return              A pointer to the ContentInfo class
83          */
84         ContentInfo* GetContentInfo(void) const;
85
86 private:
87         /**
88          * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
89          */
90         ContentSearchResult(const ContentSearchResult& rhs);
91
92         /**
93          * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
94          */
95         ContentSearchResult& operator =(const ContentSearchResult& rhs);
96
97         void SetContentType(ContentType contentType);
98         void SetContentInfo(ContentInfo* pContentInfo);
99
100 private:
101         ContentType __contentType;
102         ContentInfo* __pContentInfo;
103
104         _ContentSearchResultImpl* __pImpl; // pubonly - for ABC
105         friend class _ContentSearchResultImpl;
106         friend class _ContentSearchImpl;
107         friend class _ContentDirectoryImpl;
108
109 };  // class ContentSearchResult
110
111 }} // Tizen::Content
112
113 #endif // _FCNT_CONTENT_SEARCH_RESULT_H_