Lines Matching refs:name
56 void SingletonContainer::AddSingleton(const std::string& name, void* instance)
58 if (stringMap.find(name) == stringMap.end()) {
62 WLOGD("add %{public}s", name.c_str());
63 stringMap[name] = nextId++;
65 WLOGFE("add failed: %{public}s", name.c_str());
69 void SingletonContainer::SetSingleton(const std::string& name, void* instance)
71 if (stringMap.find(name) == stringMap.end()) {
72 AddSingleton(name, instance);
74 WLOGI("set %{public}s", name.c_str());
75 singletonMap[stringMap[name]].value = instance;
79 void* SingletonContainer::GetSingleton(const std::string& name)
81 if (stringMap.find(name) == stringMap.end()) {
82 WLOGFE("can not get %{public}s", name.c_str());
85 if (singletonMap.find(stringMap[name]) == singletonMap.end()) {
86 WLOGFE("can not find singleton, name is %{public}s", name.c_str());
89 return singletonMap[stringMap[name]].value;
92 void* SingletonContainer::DependOn(const std::string& instance, const std::string& name)
95 if (instanceDependencySet.find(stringMap[name]) == instanceDependencySet.end()) {
96 WLOGFD("%{public}s DependOn %{public}s", instance.c_str(), name.c_str());
97 instanceDependencySet.insert(stringMap[name]);
98 singletonMap[stringMap[name]].refCount++;
100 return GetSingleton(name);