public static void RegisterRemote(BaseRemote remote, string name, RemoteNameFunc remoteNameFunc) // TODO remote function name func { Dictionary <string, RemoteMethod> m = remote.GetRemotesMap(); foreach (KeyValuePair <string, RemoteMethod> kvp in m) { var rn = remoteNameFunc(kvp.Key); var remoteName = $"{name}.{rn}"; if (RemotesDict.ContainsKey(remoteName)) { throw new PitayaException($"tried to register same remote twice! remote name: {remoteName}"); } Logger.Info("registering remote {0}", remoteName); RemotesDict[remoteName] = kvp.Value; } }
public static void RegisterRemote(BaseRemote remote, string name) { RegisterRemote(remote, name, DefaultRemoteNameFunc); }
public static void RegisterRemote(BaseRemote remote) { string className = DefaultRemoteNameFunc(remote.GetName()); RegisterRemote(remote, className, DefaultRemoteNameFunc); }