Blamite Game Engine - blam!  00285.12.18.20.1411.blamite
The core library for the Blamite Game Engine.
open_web_url.hpp
Go to the documentation of this file.
1 #include "../console.h"
4 
5 #include <Strings/components/utils/string/string.h>
6 
7 namespace Blam::Console
8 {
15  {
16  public:
18  {
19  name = "open_web_url";
20  description = "Opens a URL in the user's preferred web browser.";
21  syntax = "open_web_url <string>";
22  aliases = { "url" };
23 
25  }
26 
27  CommandStatus onCommand(std::vector<std::string> arguments)
28  {
29  if (arguments.size() == 0)
30  {
32  }
33  else
34  {
35  std::string url = "";
36 
37  for (int i = 0; i < arguments.size(); i++)
38  {
39  url += arguments.at(i);
40 
41  if (i != (arguments.size() - 1))
42  {
43  url += " ";
44  }
45  }
46 
47  if (!BlamStrings::Utils::String::StartsWith(url, "http://", true) && !BlamStrings::Utils::String::StartsWith(url, "https://", true)
48  && !BlamStrings::Utils::String::StartsWith(url, "file://", true) && !BlamStrings::Utils::String::StartsWith(url, "ftp://", true))
49  {
50  url = "http://" + url;
51  }
52 
54 
55  Blam::Logger::LogEventForce("opening web browser at url '" + url + "'", WSV_NONE);
56  }
57 
58  return CommandStatus::Ok;
59  }
60  };
61 }
Blam::Console::ConsoleCommand::aliases
std::vector< std::string > aliases
A list of aliases for the command. Executing any of these instead of the command name will behave the...
Definition: console.h:78
Blam::Console::ConsoleCommand::description
std::string description
An optional description of the command. Shown when using the classify command.
Definition: console.h:76
Blam::Modules::Keystone::OpenWebURL
BLAM bool OpenWebURL(std::string url)
Definition: keystone.cpp:74
Blam::Console::ConsoleCommand::type
CommandType type
The type of command this is. See Blam::Console::CommandType for more information.
Definition: console.h:80
Blam::Console::CommandStatus
CommandStatus
Indicates the return state of a console command.
Definition: console.h:31
logger.h
keystone.h
Blam::Console::Builtin
@ Builtin
A command that is hard-coded into the engine.
Definition: console.h:44
Blam::Console::ConsoleCommand::name
std::string name
The name of the console command.
Definition: console.h:73
Blam::Logger::LogEventForce
BLAM void LogEventForce(std::string message, BlamLogLevel severity)
Forcibly logs a message to the log and/or console.
Definition: aliases.cpp:218
Blam::Console::WrongArgumentCount
@ WrongArgumentCount
Too few or too many arguments were provided.
Definition: console.h:35
Blam::Console::OpenWebURLCommand::onCommand
CommandStatus onCommand(std::vector< std::string > arguments)
Called upon command execution.
Definition: open_web_url.hpp:27
Blam::Console::OpenWebURLCommand::OpenWebURLCommand
OpenWebURLCommand()
Definition: open_web_url.hpp:17
WSV_NONE
#define WSV_NONE
Macro for 'None' log seveirty. Original pre-enum value was 0.
Definition: logger.h:15
Blam::Console::OpenWebURLCommand
Class for the open_web_url command.
Definition: open_web_url.hpp:14
Blam::Console
Namespace for things relating to the debug console.
Definition: abort.hpp:5
Blam::Console::ConsoleCommand
Class used to represent a console command.
Definition: console.h:53
Blam::Globals::Ok
@ Ok
The global was updated successfully.
Definition: globals.h:224
Blam::Console::ConsoleCommand::syntax
std::string syntax
The syntax information for the command. Shown to the user when using the help command with an argumen...
Definition: console.h:77