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);
56 void registerFileHandler(unique_ptr<FileHandler>&& fileHandler);
61 void registerFileHandler(
const string& name, unique_ptr<FileHandler>&& fileHandler);
62 void unregisterFileHandler(
const string& fileHandlerName);
63 unique_ptr<FileHandler> getFileHandler(
const string& name);
87 virtual int delegateOpen(
const string& path, unique_ptr<FileHandler>& outNewDelegate);
88 virtual int delegateOpen(
const FileSpec& fileSpec, unique_ptr<FileHandler>& outNewDelegate);
93 virtual int parseUri(
FileSpec& inOutFileSpec,
size_t colonIndex);
101 map<string, unique_ptr<FileDelegator>> fileDelegatorMap_;
102 map<string, unique_ptr<FileHandler>> fileHandlerMap_;
103 map<string, map<string, unique_ptr<FileDelegator>>> extraDelegatorMap_;