|
1
|
1 #pragma once
|
|
|
2
|
|
|
3 // titleformat_object extracted from titleformat.h as it's more commonly used than other titleformat.h stuff
|
|
|
4
|
|
|
5 class file_info; class titleformat_hook; class titleformat_text_filter;
|
|
|
6
|
|
|
7 //! Represents precompiled executable title-formatting script. Use titleformat_compiler to instantiate; do not reimplement.
|
|
|
8 class NOVTABLE titleformat_object : public service_base
|
|
|
9 {
|
|
|
10 public:
|
|
|
11 virtual void run(titleformat_hook * p_source,pfc::string_base & p_out,titleformat_text_filter * p_filter)=0;
|
|
|
12
|
|
|
13 void run_hook(const playable_location & p_location,const file_info * p_source,titleformat_hook * p_hook,pfc::string_base & p_out,titleformat_text_filter * p_filter);
|
|
|
14 void run_simple(const playable_location & p_location,const file_info * p_source,pfc::string_base & p_out);
|
|
|
15
|
|
|
16 //! Helper, see titleformat_object_v2::requires_metadb_info()
|
|
|
17 bool requires_metadb_info_();
|
|
|
18
|
|
|
19 FB2K_MAKE_SERVICE_INTERFACE(titleformat_object,service_base);
|
|
|
20 };
|