public T GetObject <T>(string id) { NewPayLoad PL = new NewPayLoad("GetObject", id); NewPayLoad PLRC = mGingerSocketClient2.SendRequestPayLoad(PL); Guid guid = Guid.Parse(PLRC.GetValueString()); //TODO: add Guid in Payload T obj = RemoteObjectProxy <T> .Create(this, guid); return(obj); }
private void RepositoryItemBaseReport() { string s = ""; RemoteObjectProxy <RepositoryItem> dp = new RemoteObjectProxy <RepositoryItem>(); //dummy to load the dll //s += getRIBase(typeof(Ginger.App).Assembly); // Ginger //s += getRIBase(typeof(RepositoryItemBase).Assembly); // GingerCoreCommon //s += getRIBase(typeof(RepositoryItem).Assembly); // GingerCore s += getRIBase(typeof(GingerNode).Assembly); // GingerCoreNet System.IO.File.WriteAllText(@"c:\temp\RIBase.txt", s); }
internal object Invoke <T>(RemoteObjectProxy <T> remoteObjectProxy, MethodInfo targetMethod, object[] args) { NewPayLoad pl = new NewPayLoad("Invoke"); pl.AddValue(remoteObjectProxy.RemoteObjectGuid.ToString()); pl.AddValue(targetMethod.Name); pl.AddValue(args.Length); // count of params foreach (object o in args) { pl.AddValueByObjectType(o); } pl.ClosePackage(); NewPayLoad PLRC = mGingerSocketClient2.SendRequestPayLoad(pl); object rc = PLRC.GetValueByObjectType(); return(rc); }