RStudio Launcher Plugin SDK  1.1.3
A software development kit for creating plugins that work the the RStudio Launcher.
QuickStartPluginApi.hpp
1 /*
2  * QuickStartPluginApi.hpp
3  *
4  * Copyright (C) 2019-20 by RStudio, PBC
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
7  * documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
8  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
9  * permit persons to whom the Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
12  * Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
15  * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
16  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
17  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18  *
19  */
20 
21 #ifndef LAUNCHER_PLUGINS_QUICK_START_PLUGIN_API_HPP
22 #define LAUNCHER_PLUGINS_QUICK_START_PLUGIN_API_HPP
23 
24 #include <api/AbstractPluginApi.hpp>
25 
26 namespace rstudio {
27 namespace launcher_plugins {
28 namespace quickstart {
29 
34 {
35 public:
42  explicit QuickStartPluginApi(std::shared_ptr<comms::AbstractLauncherCommunicator> in_launcherCommunicator);
43 
44 private:
53  jobs::JobRepositoryPtr createJobRepository(
54  const jobs::JobStatusNotifierPtr& in_jobStatusNotifier) const override;
55 
65  std::shared_ptr<api::IJobSource> createJobSource(
66  jobs::JobRepositoryPtr in_jobRepository,
67  jobs::JobStatusNotifierPtr in_jobStatusNotifier) const override;
74  Error doInitialize() override;
75 };
76 
77 } // namespace quickstart
78 } // namespace launcher_plugins
79 } // namespace rstudio
80 
81 #endif
rstudio::launcher_plugins::quickstart::QuickStartPluginApi
Launcher Plugin API for the QuickStart Plugin.
Definition: QuickStartPluginApi.hpp:33
rstudio::launcher_plugins::quickstart::QuickStartPluginApi::QuickStartPluginApi
QuickStartPluginApi(std::shared_ptr< comms::AbstractLauncherCommunicator > in_launcherCommunicator)
Constructor.
rstudio::launcher_plugins::Error
Class which represents an error.
Definition: Error.hpp:174
rstudio::launcher_plugins::api::AbstractPluginApi
Base class for the Launcher Plugin API.
Definition: AbstractPluginApi.hpp:50