Base: More code/comment nitpicks

This commit is contained in:
tt2468 2021-12-21 18:11:15 -08:00
parent 0f303504e1
commit 40ff3f6960
2 changed files with 36 additions and 26 deletions

View File

@ -35,12 +35,12 @@ OBS_MODULE_AUTHOR("OBSProject")
const char *obs_module_name(void) { return "obs-websocket"; } const char *obs_module_name(void) { return "obs-websocket"; }
const char *obs_module_description(void) { return obs_module_text("OBSWebSocket.Plugin.Description"); } const char *obs_module_description(void) { return obs_module_text("OBSWebSocket.Plugin.Description"); }
os_cpu_usage_info_t* _cpuUsageInfo;
ConfigPtr _config; ConfigPtr _config;
EventHandlerPtr _eventHandler;
WebSocketApiPtr _webSocketApi; WebSocketApiPtr _webSocketApi;
WebSocketServerPtr _webSocketServer; WebSocketServerPtr _webSocketServer;
EventHandlerPtr _eventHandler;
SettingsDialog *_settingsDialog = nullptr; SettingsDialog *_settingsDialog = nullptr;
os_cpu_usage_info_t* _cpuUsageInfo;
void WebSocketApiEventCallback(std::string vendorName, std::string eventType, obs_data_t *obsEventData); void WebSocketApiEventCallback(std::string vendorName, std::string eventType, obs_data_t *obsEventData);
@ -49,32 +49,35 @@ bool obs_module_load(void)
blog(LOG_INFO, "[obs_module_load] you can haz websockets (Version: %s | RPC Version: %d)", OBS_WEBSOCKET_VERSION, OBS_WEBSOCKET_RPC_VERSION); blog(LOG_INFO, "[obs_module_load] you can haz websockets (Version: %s | RPC Version: %d)", OBS_WEBSOCKET_VERSION, OBS_WEBSOCKET_RPC_VERSION);
blog(LOG_INFO, "[obs_module_load] Qt version (compile-time): %s | Qt version (run-time): %s", QT_VERSION_STR, qVersion()); blog(LOG_INFO, "[obs_module_load] Qt version (compile-time): %s | Qt version (run-time): %s", QT_VERSION_STR, qVersion());
// Create the config object then load the parameters from storage // Initialize the cpu stats
_cpuUsageInfo = os_cpu_usage_info_start();
// Create the config manager then load the parameters from storage
_config = ConfigPtr(new Config()); _config = ConfigPtr(new Config());
_config->Load(); _config->Load();
// Initialize event handler before server, as the server configures the event handler. // Initialize the event handler
_eventHandler = EventHandlerPtr(new EventHandler()); _eventHandler = EventHandlerPtr(new EventHandler());
// Initialize the plugin/script API
_webSocketApi = WebSocketApiPtr(new WebSocketApi()); _webSocketApi = WebSocketApiPtr(new WebSocketApi());
_webSocketApi->SetEventCallback(WebSocketApiEventCallback); _webSocketApi->SetEventCallback(WebSocketApiEventCallback);
// Initialize the WebSocket server
_webSocketServer = WebSocketServerPtr(new WebSocketServer()); _webSocketServer = WebSocketServerPtr(new WebSocketServer());
// Initialize the settings dialog
obs_frontend_push_ui_translation(obs_module_get_string); obs_frontend_push_ui_translation(obs_module_get_string);
QMainWindow* mainWindow = reinterpret_cast<QMainWindow*>(obs_frontend_get_main_window()); QMainWindow* mainWindow = reinterpret_cast<QMainWindow*>(obs_frontend_get_main_window());
_settingsDialog = new SettingsDialog(mainWindow); _settingsDialog = new SettingsDialog(mainWindow);
obs_frontend_pop_ui_translation(); obs_frontend_pop_ui_translation();
// Add the settings dialog to the tools menu
const char* menuActionText = obs_module_text("OBSWebSocket.Settings.DialogTitle"); const char* menuActionText = obs_module_text("OBSWebSocket.Settings.DialogTitle");
QAction* menuAction = (QAction*)obs_frontend_add_tools_menu_qaction(menuActionText); QAction* menuAction = (QAction*)obs_frontend_add_tools_menu_qaction(menuActionText);
QObject::connect(menuAction, &QAction::triggered, [] { _settingsDialog->ToggleShowHide(); }); QObject::connect(menuAction, &QAction::triggered, [] { _settingsDialog->ToggleShowHide(); });
_cpuUsageInfo = os_cpu_usage_info_start();
// Loading finished
blog(LOG_INFO, "[obs_module_load] Module loaded."); blog(LOG_INFO, "[obs_module_load] Module loaded.");
return true; return true;
} }
@ -82,29 +85,46 @@ void obs_module_unload()
{ {
blog(LOG_INFO, "[obs_module_unload] Shutting down..."); blog(LOG_INFO, "[obs_module_unload] Shutting down...");
// Shutdown the WebSocket server if it is running
if (_webSocketServer->IsListening()) { if (_webSocketServer->IsListening()) {
blog_debug("[obs_module_unload] WebSocket server is running. Stopping..."); blog_debug("[obs_module_unload] WebSocket server is running. Stopping...");
_webSocketServer->Stop(); _webSocketServer->Stop();
} }
// Destroy the WebSocket server
_webSocketServer.reset(); _webSocketServer.reset();
_eventHandler.reset(); // Destroy the plugin/script api
_webSocketApi.reset(); _webSocketApi.reset();
// Destroy the event handler
_eventHandler.reset();
// Save and destroy the config manager
_config->Save(); _config->Save();
_config.reset(); _config.reset();
// Destroy the cpu stats
os_cpu_usage_info_destroy(_cpuUsageInfo); os_cpu_usage_info_destroy(_cpuUsageInfo);
blog(LOG_INFO, "[obs_module_unload] Finished shutting down."); blog(LOG_INFO, "[obs_module_unload] Finished shutting down.");
} }
os_cpu_usage_info_t* GetCpuUsageInfo()
{
return _cpuUsageInfo;
}
ConfigPtr GetConfig() ConfigPtr GetConfig()
{ {
return _config; return _config;
} }
EventHandlerPtr GetEventHandler()
{
return _eventHandler;
}
WebSocketApiPtr GetWebSocketApi() WebSocketApiPtr GetWebSocketApi()
{ {
return _webSocketApi; return _webSocketApi;
@ -115,16 +135,6 @@ WebSocketServerPtr GetWebSocketServer()
return _webSocketServer; return _webSocketServer;
} }
EventHandlerPtr GetEventHandler()
{
return _eventHandler;
}
os_cpu_usage_info_t* GetCpuUsageInfo()
{
return _cpuUsageInfo;
}
bool IsDebugEnabled() bool IsDebugEnabled()
{ {
return !_config || _config->DebugEnabled; return !_config || _config->DebugEnabled;

View File

@ -35,23 +35,23 @@ with this program. If not, see <https://www.gnu.org/licenses/>
class Config; class Config;
typedef std::shared_ptr<Config> ConfigPtr; typedef std::shared_ptr<Config> ConfigPtr;
class EventHandler;
typedef std::shared_ptr<EventHandler> EventHandlerPtr;
class WebSocketApi; class WebSocketApi;
typedef std::shared_ptr<WebSocketApi> WebSocketApiPtr; typedef std::shared_ptr<WebSocketApi> WebSocketApiPtr;
class WebSocketServer; class WebSocketServer;
typedef std::shared_ptr<WebSocketServer> WebSocketServerPtr; typedef std::shared_ptr<WebSocketServer> WebSocketServerPtr;
class EventHandler; os_cpu_usage_info_t* GetCpuUsageInfo();
typedef std::shared_ptr<EventHandler> EventHandlerPtr;
ConfigPtr GetConfig(); ConfigPtr GetConfig();
EventHandlerPtr GetEventHandler();
WebSocketApiPtr GetWebSocketApi(); WebSocketApiPtr GetWebSocketApi();
WebSocketServerPtr GetWebSocketServer(); WebSocketServerPtr GetWebSocketServer();
EventHandlerPtr GetEventHandler();
os_cpu_usage_info_t* GetCpuUsageInfo();
bool IsDebugEnabled(); bool IsDebugEnabled();