41 void registerFileDelegator(
const string& name, unique_ptr<FileDelegator>&& delegator);
42 void unregisterFileDelegator(
const string& name);
46 void registerExtraDelegator(
47 const string& extraName,
48 const string& extraValue,
49 unique_ptr<FileDelegator>&& delegator);
50 void unregisterExtraDelegator(
const string& extraName,
const string& extraValue);
52 FileDelegator* getExtraDelegator(
const string& extraName,
const string& extraValue);
55 void registerFileHandler(unique_ptr<FileHandler>&& fileHandler);
56 void unregisterFileHandler(
const string& fileHandlerName);
57 unique_ptr<FileHandler> getFileHandler(
const string& name);
81 virtual int delegateOpen(
const string& path, unique_ptr<FileHandler>& outNewDelegate);
82 virtual int delegateOpen(
const FileSpec& fileSpec, unique_ptr<FileHandler>& outNewDelegate);
87 virtual int parseUri(
FileSpec& inOutFileSpec,
size_t colonIndex);
95 map<string, unique_ptr<FileDelegator>> fileDelegatorMap_;
96 map<string, unique_ptr<FileHandler>> fileHandlerMap_;
97 map<string, map<string, unique_ptr<FileDelegator>>> extraDelegatorMap_;