42 void registerFileDelegator(
const string& name, unique_ptr<FileDelegator>&& delegator);
43 void unregisterFileDelegator(
const string& name);
47 void registerExtraDelegator(
48 const string& extraName,
49 const string& extraValue,
50 unique_ptr<FileDelegator>&& delegator);
51 void unregisterExtraDelegator(
const string& extraName,
const string& extraValue);
53 FileDelegator* getExtraDelegator(
const string& extraName,
const string& extraValue);
57 void registerFileHandler(unique_ptr<FileHandler>&& fileHandler);
62 void registerFileHandler(
const string& name, unique_ptr<FileHandler>&& fileHandler);
63 void unregisterFileHandler(
const string& fileHandlerName);
64 unique_ptr<FileHandler> getFileHandler(
const string& name);
88 virtual int delegateOpen(
const string& path, unique_ptr<FileHandler>& outNewDelegate);
89 virtual int delegateOpen(
const FileSpec& fileSpec, unique_ptr<FileHandler>& outNewDelegate);
94 virtual int parseUri(
FileSpec& inOutFileSpec,
size_t colonIndex);
102 map<string, unique_ptr<FileDelegator>> fileDelegatorMap_;
103 map<string, unique_ptr<FileHandler>> fileHandlerMap_;
104 map<string, map<string, unique_ptr<FileDelegator>>> extraDelegatorMap_;