Unity Scopes API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Scope.h
1 /*
2  * Copyright (C) 2013 Canonical Ltd
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License version 3 as
6  * published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * Authored by: Michi Henning <michi.henning@canonical.com>
17  */
18 
19 #ifndef UNITY_SCOPES_SCOPE_H
20 #define UNITY_SCOPES_SCOPE_H
21 
22 #include <unity/scopes/ActivationListenerBase.h>
23 #include <unity/scopes/Object.h>
24 #include <unity/scopes/PreviewListenerBase.h>
25 #include <unity/scopes/QueryCtrlProxyFwd.h>
26 #include <unity/scopes/ScopeProxyFwd.h>
27 #include <unity/scopes/SearchListenerBase.h>
28 #include <unity/scopes/Variant.h>
29 
30 namespace unity
31 {
32 
33 namespace scopes
34 {
35 
36 class Result;
37 class FilterState;
38 class ActionMetadata;
39 class SearchMetadata;
40 
45 class Scope : public virtual Object
46 {
47 public:
62  virtual QueryCtrlProxy search(std::string const& query_string,
63  SearchMetadata const& metadata,
64  SearchListenerBase::SPtr const& reply) = 0;
65 
77  virtual QueryCtrlProxy search(std::string const& query_string,
78  FilterState const& filter_state,
79  SearchMetadata const& metadata,
80  SearchListenerBase::SPtr const& reply) = 0;
81 
94  virtual QueryCtrlProxy search(std::string const& query_string,
95  std::string const& department_id,
96  FilterState const& filter_state,
97  SearchMetadata const& metadata,
98  SearchListenerBase::SPtr const& reply) = 0;
99 
107  virtual QueryCtrlProxy activate(Result const& result,
108  ActionMetadata const& metadata,
109  ActivationListenerBase::SPtr const& reply) = 0;
110 
120  virtual QueryCtrlProxy perform_action(Result const& result,
121  ActionMetadata const& metadata,
122  std::string const& widget_id,
123  std::string const& action_id,
124  ActivationListenerBase::SPtr const& reply) = 0;
125 
133  virtual QueryCtrlProxy preview(Result const& result,
134  ActionMetadata const& metadata,
135  PreviewListenerBase::SPtr const& reply) = 0;
136 
142  virtual ~Scope();
143 
144 protected:
146  Scope();
148 };
149 
150 } // namespace scopes
151 
152 } // namespace unity
153 
154 #endif
virtual QueryCtrlProxy perform_action(Result const &result, ActionMetadata const &metadata, std::string const &widget_id, std::string const &action_id, ActivationListenerBase::SPtr const &reply)=0
Initiates activation of a preview action.
virtual QueryCtrlProxy preview(Result const &result, ActionMetadata const &metadata, PreviewListenerBase::SPtr const &reply)=0
Initiates preview request.
Metadata passed with search requests.
Definition: SearchMetadata.h:41
Metadata passed to scopes for preview and activation.
Definition: ActionMetadata.h:41
The attributes of a result returned by a Scope.
Definition: Result.h:51
virtual ~Scope()
Destroys a Scope.
Allows queries, preview requests, and activation requests to be sent to a scope.
Definition: Scope.h:45
Captures state of multiple filters.
Definition: FilterState.h:47
virtual QueryCtrlProxy activate(Result const &result, ActionMetadata const &metadata, ActivationListenerBase::SPtr const &reply)=0
Initiates activation of a search result.
std::shared_ptr< QueryCtrl > QueryCtrlProxy
Convenience type definition.
Definition: QueryCtrlProxyFwd.h:34
The root base class for all proxies.
Definition: Object.h:35
virtual QueryCtrlProxy search(std::string const &query_string, SearchMetadata const &metadata, SearchListenerBase::SPtr const &reply)=0
Initiates a search query.