Source Code (Use browser search to find items of interest.)
Class Index
kdelibs'InterfaceRepo (./kdelibs/arts/mcop/core.h:338)
class InterfaceRepo : public SmartWrapper {
private:
static Object_base* _Creator();
InterfaceRepo_base *_cache;
inline InterfaceRepo_base *_method_call() {
_pool->checkcreate();
if(_pool->base) {
_cache=(InterfaceRepo_base *)_pool->base->_cast(InterfaceRepo_base::_IID);
assert(_cache);
}
return _cache;
}
public:
inline InterfaceRepo() : SmartWrapper(_Creator), _cache(0) {}
inline InterfaceRepo(const SubClass& s) :
SmartWrapper(InterfaceRepo_base::_create(s.string())), _cache(0) {}
inline InterfaceRepo(const Reference &r) :
SmartWrapper(r.isString()?(InterfaceRepo_base::_fromString(r.string())):(InterfaceRepo_base::_fromReference(r.reference(),true))), _cache(0) {}
inline InterfaceRepo(InterfaceRepo_base* b) : SmartWrapper(b), _cache(0) {}
inline InterfaceRepo(const InterfaceRepo& target) : SmartWrapper(target._pool), _cache(target._cache) {}
inline InterfaceRepo(SmartWrapper::Pool& p) : SmartWrapper(p), _cache(0) {}
inline InterfaceRepo& operator=(const InterfaceRepo& target) {
if (_pool == target._pool) return *this;
_pool->Dec();
_pool = target._pool;
_cache = target._cache;
_pool->Inc();
return *this;
}
inline operator Object() const { return Object(*_pool); }
inline InterfaceRepo_base* _base() {return _cache?_cache:_method_call();}
inline long insertModule(const ModuleDef& newModule) {return _cache?_cache->insertModule(newModule):_method_call()->insertModule(newModule);}
inline void removeModule(long moduleID) {return _cache?_cache->removeModule(moduleID):_method_call()->removeModule(moduleID);}
inline InterfaceDef* queryInterface(const std::string& name) {return _cache?_cache->queryInterface(name):_method_call()->queryInterface(name);}
inline TypeDef* queryType(const std::string& name) {return _cache?_cache->queryType(name):_method_call()->queryType(name);}
};
kdelibs'InterfaceRepo::_Creator() (./kdelibs/arts/mcop/core.cc:942)
Object_base* InterfaceRepo::_Creator() {
return InterfaceRepo_base::_create();
}
kdelibs'InterfaceRepo::queryType() (./kdelibs/arts/mcop/core.h:374)
inline TypeDef* queryType(const std::string& name) {return _cache?_cache->queryType(name):_method_call()->queryType(name);}
};