Elaztek Developer Hub
Blamite Game Engine - Strings  00390.07.02.23.1947.blamite
A library containing general purpose utilities and classes for use in multiple projects.
resources.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 #include <map>
7 
8 #ifdef STRINGS_EXPORTS
9 #define STRINGS_API __declspec(dllexport)
10 #else
11 #define STRINGS_API __declspec(dllimport)
12 #endif
13 
24 {
25  std::string id;
26  std::string file_path;
27 };
28 
37 {
38  std::string group_name;
39  std::map<std::string, BlamResource> resources;
40 };
41 
50 {
61  STRINGS_API BlamResourceGroup ParseResourceGroupXML(std::string base_dir, std::string resource_file, rapidxml::xml_node<>* root_node, BlamResult* result);
62 
70  STRINGS_API BlamResult LoadResources(std::string resource_file);
71 
80  STRINGS_API std::string GetResourcePath(std::string group_id, std::string id);
81 
90  STRINGS_API bool ResourceExists(std::string group_id, std::string id);
91 
99  STRINGS_API BlamResourceGroup* GetResourceGroup(std::string group_id);
100 
108  STRINGS_API std::map<std::string, BlamResourceGroup> GetResourceGroups();
109 }
logger.h
BlamStrings::Resources
Functions used in loading and accessing resources.
Definition: resources.h:49
BlamStrings::Resources::GetResourcePath
STRINGS_API std::string GetResourcePath(std::string group_id, std::string id)
Retrieves the file path for a given resource.
Definition: resources.cpp:127
BlamStrings::Resources::ParseResourceGroupXML
STRINGS_API BlamResourceGroup ParseResourceGroupXML(std::string base_dir, std::string resource_file, rapidxml::xml_node<> *root_node, BlamResult *result)
Parses a resource group from the resource group's XML file.
Definition: resources.cpp:11
BlamResource
Structure representing a Keystone resource.
Definition: resources.h:23
BlamStrings::Logger::LogEvent
STRINGS_API void LogEvent(BlamBasicLogMessage message)
Logs an event to the logger.
Definition: logger.cpp:41
BlamResourceGroup::resources
std::map< std::string, BlamResource > resources
The list of resources contained within this group.
Definition: resources.h:39
errors.h
Error_FileNotFound
@ Error_FileNotFound
Definition: errors.h:13
BlamResult
BlamResult
Enumerator containing any and all result codes used throughout the engine.
Definition: errors.h:9
rapidxml::xml_attribute
Class representing attribute node of XML document.
Definition: rapidxml.hpp:138
BlamStrings::Resources::LoadResources
STRINGS_API BlamResult LoadResources(std::string resource_file)
Loads a new resource group.
Definition: resources.cpp:85
Success_OK
@ Success_OK
Definition: errors.h:11
BlamResourceGroup::group_name
std::string group_name
The name/ID of this group.
Definition: resources.h:38
rapidxml::xml_node::first_node
xml_node< Ch > * first_node(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const
Gets first child node, optionally matching node name.
Definition: rapidxml.hpp:936
BlamResource::file_path
std::string file_path
The path to the file associated with this resource.
Definition: resources.h:26
BlamResourceGroup
Structure representing a Keystone resource group.
Definition: resources.h:36
resource_groups
std::map< std::string, BlamResourceGroup > resource_groups
Definition: resources.cpp:9
BlamLogLevel::Error
@ Error
Indicates an error that could cause engine instability.
BlamStrings::Resources::GetResourceGroup
STRINGS_API BlamResourceGroup * GetResourceGroup(std::string group_id)
Retrieves a resource group.
Definition: resources.cpp:150
STRINGS_API
#define STRINGS_API
Definition: resources.h:11
rapidxml::xml_document
This class represents root of the DOM hierarchy.
Definition: rapidxml.hpp:139
BlamStrings::Utils::IO::FileExists
STRINGS_API bool FileExists(std::string name)
Checks if the specified file or directory exists.
Definition: io.cpp:26
BR_SUCCEEDED
#define BR_SUCCEEDED(result)
Macro to check if a BlamResult indicates a successful operation.
Definition: errors.h:4
rapidxml::xml_node
Class representing a node of XML document.
Definition: rapidxml.hpp:137
Error_ItemAlreadyExists
@ Error_ItemAlreadyExists
Definition: errors.h:16
uuids::to_string
std::basic_string< CharT, Traits, Allocator > to_string(uuid const &id)
Definition: uuid.h:581
io.h
resources.h
Error_FileInvalid
@ Error_FileInvalid
Definition: errors.h:15
rapidxml.hpp
rapidxml::xml_node::first_attribute
xml_attribute< Ch > * first_attribute(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const
Gets first attribute of node, optionally matching attribute name.
Definition: rapidxml.hpp:1025
BlamLogLevel::Warning
@ Warning
Indicates a warning message. Not something critical, but something that could cause unexpected behavi...
BlamResource::id
std::string id
The ID of the resource.
Definition: resources.h:25
BlamStrings::Resources::ResourceExists
STRINGS_API bool ResourceExists(std::string group_id, std::string id)
Determines if a resource exists within a given group.
Definition: resources.cpp:137
BlamStrings::Resources::GetResourceGroups
STRINGS_API std::map< std::string, BlamResourceGroup > GetResourceGroups()
Retrieves the map of all resource groups.
Definition: resources.cpp:160
rapidxml::xml_document::parse
void parse(Ch *text)
Parses zero-terminated XML string according to given flags.
Definition: rapidxml.hpp:1381
rapidxml::xml_node::next_sibling
xml_node< Ch > * next_sibling(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const
Gets next sibling node, optionally matching node name.
Definition: rapidxml.hpp:1004