Blamite Game Engine - blam!  00296.01.12.21.0102.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 
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  BlamCommandResult 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 BlamCommandResult::Ok;
59  }
60  };
61 }
Blam::Modules::Keystone::OpenWebURL
BLAM bool OpenWebURL(std::string url)
Definition: keystone.cpp:88
BlamConsoleCommand::description
std::string description
An optional description of the command. Shown when using the classify command.
Definition: console.h:57
logger.h
BlamCommandResult::Ok
@ Ok
The command was run without error.
keystone.h
BlamConsoleCommand
Class used to represent a console command.
Definition: console.h:54
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
BlamCommandResult::WrongArgumentCount
@ WrongArgumentCount
Too few or too many arguments were provided.
BlamConsoleCommand::name
std::string name
The name of the console command.
Definition: console.h:56
WSV_NONE
#define WSV_NONE
Macro for 'None' log seveirty. Original pre-enum value was 0.
Definition: logger.h:16
BlamConsoleCommand::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:58
BlamConsoleCommand::type
BlamCommandType type
The type of command this is. See #Blam::Resources::Console::BlamCommandType for more information.
Definition: console.h:61
BlamCommandType::Builtin
@ Builtin
A command that is hard-coded into the engine.
BlamCommandResult
BlamCommandResult
Indicates the return state of a console command.
Definition: console.h:22
Blam::Resources::Console::OpenWebURLCommand::onCommand
BlamCommandResult onCommand(std::vector< std::string > arguments)
Called upon command execution.
Definition: open_web_url.hpp:27
BlamConsoleCommand::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:59
Blam::Resources::Console::OpenWebURLCommand
Class for the open_web_url command.
Definition: open_web_url.hpp:14
Blam::Resources::Console
Namespace for things relating to the debug console.
Definition: abort.hpp:5
Blam::Resources::Console::OpenWebURLCommand::OpenWebURLCommand
OpenWebURLCommand()
Definition: open_web_url.hpp:17