OpenTTD Source 20241224-master-gf74b0cf984
social_integration.h
Go to the documentation of this file.
1/*
2 * This file is part of OpenTTD.
3 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
4 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
6 */
7
10#ifndef SOCIAL_INTEGRATION_H
11#define SOCIAL_INTEGRATION_H
12
14public:
25
26 std::string basepath;
27
28 std::string social_platform = "unknown";
29 std::string name = "";
30 std::string version = "";
31
33
34 SocialIntegrationPlugin(const std::string &basepath) : basepath(basepath) {}
35};
36
38public:
42 static std::vector<SocialIntegrationPlugin *> GetPlugins();
43
47 static void Initialize();
48
52 static void Shutdown();
53
57 static void RunCallbacks();
58
62 static void EventEnterMainMenu();
63
67 static void EventEnterScenarioEditor(uint map_width, uint map_height);
68
72 static void EventEnterSingleplayer(uint map_width, uint map_height);
73
77 static void EventEnterMultiplayer(uint map_width, uint map_height);
78
82 static void EventJoiningMultiplayer();
83};
84
85#endif /* SOCIAL_INTEGRATION_H */
@ PLATFORM_NOT_RUNNING
The plugin failed to initialize because the Social Platform is not running.
@ UNSUPPORTED_API
The plugin does not support the current API version.
@ RUNNING
The plugin is successfully loaded and running.
@ FAILED
The plugin failed to initialize.
@ DUPLICATE
Another plugin of the same Social Platform is already loaded.
@ INVALID_SIGNATURE
The signature of the plugin is invalid.
@ UNLOADED
The plugin is unloaded upon request.
std::string basepath
Base path of the plugin.
State state
Result of the plugin's init function.
std::string social_platform
Social platform this plugin is for.
std::string name
Name of the plugin.
std::string version
Version of the plugin.
static void EventEnterScenarioEditor(uint map_width, uint map_height)
Event: user entered the Scenario Editor.
static void EventEnterSingleplayer(uint map_width, uint map_height)
Event: user entered a singleplayer game.
static std::vector< SocialIntegrationPlugin * > GetPlugins()
Get the list of loaded social integration plugins.
static void RunCallbacks()
Allow any social integration library to handle their own events.
static void EventEnterMultiplayer(uint map_width, uint map_height)
Event: user entered a multiplayer game.
static void Shutdown()
Shutdown the social integration system, and all social integration plugins that are loaded.
static void EventEnterMainMenu()
Event: user entered the main menu.
static void EventJoiningMultiplayer()
Event: user is joining a multiplayer game.
static void Initialize()
Initialize the social integration system, loading any social integration plugins that are available.