| 164 | } |
| 165 | |
| 166 | void Reader::registerReader( const std::string &extensions, CanReadFn canRead, CreatorFn creator, TypeId typeId ) |
| 167 | { |
| 168 | assert( canRead ); |
| 169 | assert( creator ); |
| 170 | assert( typeId != InvalidTypeId ); |
| 171 | |
| 172 | ExtensionsToFnsMap *m = extensionsToFns(); |
| 173 | assert( m ); |
| 174 | vector<string> splitExt; |
| 175 | split( splitExt, extensions, is_any_of( " " ) ); |
| 176 | ReaderFns r; |
| 177 | r.creator = creator; |
| 178 | r.canRead = canRead; |
| 179 | r.typeId = typeId; |
| 180 | for( vector<string>::const_iterator it=splitExt.begin(); it!=splitExt.end(); it++ ) |
| 181 | { |
| 182 | m->insert( ExtensionsToFnsMap::value_type( "." + *it, r ) ); |
| 183 | } |
| 184 | } |
| 185 | |
| 186 | Reader::ExtensionsToFnsMap *Reader::extensionsToFns() |
| 187 | { |
no test coverage detected