Beispiel #1
0
        internal static async Task <RemoteObject> GetRemoteObjectAsync(string path)
        {
            if (gObjectsByPath.TryGetValue(path, out RemoteObject obj))
            {
                return(obj);
            }

            var response = await mRequestManager.RequestAsync(new string[] { "Get-Item", path });

            var responseObj = response["item"];

            return(RegisterObject(responseObj));
        }
Beispiel #2
0
        public async Task <IEnumerable <RemoteObject> > LoadChildrenAsync(RequestManager requestManager)
        {
            if (mChildren == null)
            {
                var response = await requestManager.RequestAsync(new string[] { "Get-ChildItem", this.Path });

                var children = (JsonArray)response["children"];

                if (children.Count == 0)
                {
                    return(null);
                }

                mChildren = new Dictionary <string, RemoteObject>();

                foreach (var item in children)
                {
                    var obj = RemoteObjectManager.LoadObject(item);
                    mChildren.Add(obj.Name, obj);
                }
            }

            return(mChildren.Select(x => x.Value));
        }