Пример #1
0
        private PatternInfo GetOrCreatePatternInfo(int id, object provider,
                                                   string path,
                                                   CreateWrapperFromProvider wrapperCreator)
        {
            PatternInfo oldInfo;

            if (patternMapping.TryGetValue(id, out oldInfo))
            {
                if (oldInfo.Provider == provider)
                {
                    return(oldInfo);
                }
            }

            object      wrapper = wrapperCreator(provider);
            PatternInfo newInfo = new PatternInfo {
                Path            = path,
                Provider        = provider,
                ProviderWrapper = wrapper
            };

            patternMapping [id] = newInfo;
            bus.Register(new ObjectPath(path), wrapper);

            return(newInfo);
        }
Пример #2
0
		private PatternInfo GetOrCreatePatternInfo (int id, object provider,
		                                     string path,
		                                     CreateWrapperFromProvider wrapperCreator)
		{
			PatternInfo oldInfo;
			if (patternMapping.TryGetValue (id, out oldInfo)) {
				if (oldInfo.Provider == provider)
					return oldInfo;
			}

			object wrapper = wrapperCreator (provider);
			PatternInfo newInfo = new PatternInfo {
				Path = path,
				Provider = provider,
				ProviderWrapper = wrapper
			};
			patternMapping [id] = newInfo;
			bus.Register (new ObjectPath (path), wrapper);

			return newInfo;
		}