7 virtual void write(
const GUID & p_inputtype,
const char * p_data,
t_size p_data_length = ~0) = 0;
8 void write_int(
const GUID & p_inputtype,
t_int64 val);
27 virtual t_size get_param_count() = 0;
28 virtual void get_param(
t_size index,
const char * & p_string,
t_size & p_string_len) = 0;
58 virtual bool compile(titleformat_object::ptr & p_out,
const char * p_spec) = 0;
62 void compile_safe(titleformat_object::ptr & p_out,
const char * p_spec);
65 void compile_safe_ex(titleformat_object::ptr & p_out,
const char * p_spec,
const char * p_fallback =
"<ERROR>");
72 static void remove_forbidden_chars(
titleformat_text_out * p_out,
const GUID & p_inputtype,
const char * p_source,
t_size p_source_len,
const char * p_forbidden_chars);
73 static void remove_forbidden_chars_string_append(
pfc::string_receiver & p_out,
const char * p_source,
t_size p_source_len,
const char * p_forbidden_chars);
74 static void remove_forbidden_chars_string(
pfc::string_base & p_out,
const char * p_source,
t_size p_source_len,
const char * p_forbidden_chars);
100 : m_chain(p_chain), m_restricted_chars(p_restricted_chars) {}
101 void write(
const GUID & p_inputtype,
const char * p_data,
t_size p_data_length);
110 void write(
const GUID & p_inputtype,
const char * p_data,
t_size p_data_length) {m_string.add_string(p_data,p_data_length);}
119 virtual bool remap_meta(
const file_info & p_info,
t_size & p_index,
const char * p_name,
t_size p_name_length) = 0;
131 bool remap_meta(
t_size & p_index,
const char * p_name,
t_size p_name_length) {
return m_api->remap_meta(*m_info,p_index,p_name,p_name_length);}
162 inline static bool isReserved(
char c) {
return c >= 0 && c < 0x20; }
181 p_found_flag =
true;
return true;
186 p_found_flag =
true;
return true;
188 p_found_flag =
false;
return false;
206 m_out->write(m_inputType,p_string,p_length);
titleformat_text_out * m_chain
~titleformat_text_filter()
static bool isReserved(char c)
void write_int_padded(const GUID &p_inputtype, t_int64 val, t_int64 maxval)
const char * m_reserved_chars
int stricmp_ascii_ex(const char *const s1, t_size const len1, const char *const s2, t_size const len2)
titleformat_text_out_impl_filter_chars(titleformat_text_out *p_chain, const char *p_restricted_chars)
titleformat_text_filter()
Main interface class for information about some playable object.
void write(const GUID &p_inputtype, const char *p_data, t_size p_data_length)
titleformat_text_filter_impl_reserved_chars(const char *p_reserved_chars)
This is free and unencumbered software released into the public domain Anyone is free to compile
Base class for all service classes. Provides interfaces for reference counter and querying for differ...
void write(const service_ptr_t< file > &p_file, abort_callback &p_abort, const char *p_string, bool is_utf8)
pfc::string_receiver & m_string
const char * m_restricted_chars
titleformat_text_out_impl_string(pfc::string_receiver &p_string)
void write_int(const GUID &p_inputtype, t_int64 val)
Helper template used to easily access core services. Usage: static_api_ptr_t<myclass> api; api->doso...
PFC_NORETURN void SHARED_EXPORT uBugCheck()