19 #ifndef UNITY_SCOPES_ONLINEACCOUNTCLIENT_H
20 #define UNITY_SCOPES_ONLINEACCOUNTCLIENT_H
22 #include <unity/scopes/CannedQuery.h>
23 #include <unity/scopes/PreviewWidget.h>
24 #include <unity/scopes/Result.h>
25 #include <unity/util/NonCopyable.h>
37 class OnlineAccountClientImpl;
42 class OnlineAccountClientTest;
94 std::string
const& service_type,
95 std::string
const& provider_name,
164 std::unique_ptr<internal::OnlineAccountClientImpl> p;
166 friend class testing::OnlineAccountClientTest;
A simple interface for integrating online accounts access and monitoring into scopes.
Definition: OnlineAccountClient.h:51
Simply return to the scope with no further action.
Definition: OnlineAccountClient.h:135
std::string client_secret
"ClientSecret" / "ConsumerSecret" OAuth (1 / 2) parameter.
Definition: OnlineAccountClient.h:67
std::string access_token
"AccessToken" OAuth parameter.
Definition: OnlineAccountClient.h:68
uint account_id
A unique ID of the online account parenting this service.
Definition: OnlineAccountClient.h:63
void set_service_update_callback(ServiceUpdateCallback callback)
Set the callback function to be invoked when a service status changes.
Definition: OnlineAccountClient.cpp:40
std::string error
Error message (empty if no error occurred).
Definition: OnlineAccountClient.h:70
The attributes of a result returned by a Scope.
Definition: Result.h:51
Definition: OnlineAccountClient.h:40
PostLoginAction
Indicates what action to take when the login process completes.
Definition: OnlineAccountClient.h:132
std::string token_secret
"TokenSecret" OAuth parameter.
Definition: OnlineAccountClient.h:69
Top-level namespace for all things Unity-related.
Definition: Version.h:50
An external main loop already exists and is running.
Definition: OnlineAccountClient.h:81
Definition: ActionMetadata.h:32
MainLoopSelect
Indicates whether an external main loop already exists, or one should be created internally.
Definition: OnlineAccountClient.h:79
OnlineAccountClient(std::string const &service_name, std::string const &service_type, std::string const &provider_name, MainLoopSelect main_loop_select=CreateInternalMainLoop)
Create OnlineAccountClient for the specified account service.
Definition: OnlineAccountClient.cpp:28
An external main loop does not exist.
Definition: OnlineAccountClient.h:82
Parameters of a search query.
Definition: CannedQuery.h:46
void register_account_login_item(Result &result, CannedQuery const &query, PostLoginAction login_passed_action, PostLoginAction login_failed_action)
Register a result item that requires the user to be logged in.
Definition: OnlineAccountClient.cpp:55
bool service_enabled
True if this service is enabled.
Definition: OnlineAccountClient.h:64
std::function< void(ServiceStatus const &)> ServiceUpdateCallback
Function signature for the service update callback.
Definition: OnlineAccountClient.h:106
Invalidate the scope results.
Definition: OnlineAccountClient.h:136
An action unknown to the run-time was used.
Definition: OnlineAccountClient.h:134
Continue with regular result / widget activation.
Definition: OnlineAccountClient.h:137
bool service_authenticated
True if this service is authenticated.
Definition: OnlineAccountClient.h:65
void refresh_service_statuses()
Refresh all service statuses.
Definition: OnlineAccountClient.cpp:45
A container for details about a service's status and authorization parameters.
Definition: OnlineAccountClient.h:61
Dummy end marker.
Definition: OnlineAccountClient.h:138
std::string client_id
"ConsumerKey" / "ClientId" OAuth (1 / 2) parameter.
Definition: OnlineAccountClient.h:66
std::vector< ServiceStatus > get_service_statuses()
Get statuses for all services matching the name, type and provider specified on construction.
Definition: OnlineAccountClient.cpp:50