/// <summary>
 /// Initializes a new instance of the
 /// <see cref="T:DSLink.Request.Requester.RemoteSubscriptionManager"/> class.
 /// </summary>
 public RemoteSubscriptionManager(AbstractContainer link)
 {
     _link            = link;
     _subscriptions   = new Dictionary <string, Subscription>();
     _subIdToPath     = new Dictionary <int, string>();
     _realSubIdToPath = new Dictionary <int, string>();
 }
Beispiel #2
0
        private static void SetHiddenControlContainer(this AbstractContainer container, bool newHidden)
        {
            if (container == null)
            {
                return;
            }

            var abstractContainer = container.Parent as AbstractContainer;

            if (container.ContentControls.Count > 0 && !container.Page.IsPostBack)
            {
                return;
            }
            var components = container.Items.Where(c => c.GetType() != typeof(Hidden)).ToArray();

            if (components.Length == 0)
            {
                container.Hidden = newHidden;
            }
            else if (components.All(c => c.Hidden) && newHidden)
            {
                container.Hidden = true;
            }
            else
            {
                container.Hidden = false;
            }

            abstractContainer.SetHiddenControlContainer(container.Hidden);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="T:DSLink.Respond.ListResponse"/> class.
 /// </summary>
 /// <param name="requestID">Request identifier</param>
 /// <param name="path">Path</param>
 /// <param name="node">Node</param>
 public ListResponse(AbstractContainer link, int requestID,
                     string path, Node node)
     : base(link, requestID)
 {
     Path = path;
     Node = node;
 }
        private void RemoveButton_Click(object sender, EventArgs e)
        {
            AbstractContainer toRemove = GetContainerForSelectedRow();

            _currentContainer.Remove(toRemove);
            Save();
            FillCatalog();
        }
Beispiel #5
0
 /// <summary>
 /// Responder constructor
 /// </summary>
 /// <param name="link"></param>
 internal Responder(AbstractContainer link)
 {
     _link               = link;
     SuperRoot           = new Node("", null, _link);
     SubscriptionManager = new SubscriptionManager(_link);
     StreamManager       = new StreamManager(_link);
     NodeClasses         = new Dictionary <string, Action <Node> >();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="T:DSLink.Respond.InvokeResponse"/> class.
 /// </summary>
 /// <param name="requestID">Request identifier</param>
 /// <param name="path">Path</param>
 /// <param name="columns">Columns</param>
 /// <param name="updates">Updates</param>
 public InvokeResponse(AbstractContainer link, int requestID,
                       string path, JArray columns,
                       JArray updates)
     : base(link, requestID)
 {
     Path    = path;
     Columns = columns;
     Updates = updates;
 }
 /// <summary>
 /// Initializes a new instance of the
 /// <see cref="T:DSLink.Request.InvokeRequest"/> class.
 /// </summary>
 /// <param name="requestID">Request identifier</param>
 /// <param name="path">Path</param>
 /// <param name="permission">Permission</param>
 /// <param name="parameters">Parameters</param>
 /// <param name="callback">Callback</param>
 /// <param name="link">Link</param>
 /// <param name="columns">Columns</param>
 public InvokeRequest(int requestID, string path, Permission permission, JObject parameters,
                      Action <InvokeResponse> callback = null, AbstractContainer link = null, JArray columns = null) : base(requestID)
 {
     Path       = path;
     Permission = permission;
     Parameters = parameters;
     Callback   = callback;
     _link      = link;
     _columns   = columns;
 }
        private void ExtractAndShow(AbstractContainer container)
        {
            FolderBrowserDialog dialog = new FolderBrowserDialog();

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                Extract(container, dialog.SelectedPath);
                string argument = "/select, " + Path.Combine(dialog.SelectedPath, container.Name);
                Process.Start(dialog.SelectedPath, argument);
            }
        }
        private void buttonOpen_Click(object sender, EventArgs e)
        {
            AbstractContainer toOpen = GetContainerForSelectedRow();

            if (!(toOpen is FolderContainer))
            {
                throw new ArgumentException("Only Folders can be opened.");
            }
            _currentContainer = toOpen as FolderContainer;
            FillCatalog();
        }
Beispiel #10
0
        private static IList <string> AddFieldSet(
            IList <FilterHtmlGenerator.Filter> filters,
            IList <string> clientRepository,
            AbstractContainer panelFilters)
        {
            var mainFiltersFieldSet = new FilterControlFieldSet()
                                      .GetFieldSetFilters(filters, clientRepository);

            if (mainFiltersFieldSet != null)
            {
                panelFilters.Items.Add(mainFiltersFieldSet);
                mainFiltersFieldSet.Listeners.BoxReady.Handler = FilterJs.JsCallRegistrateFilterOperationControl;
            }

            return(clientRepository);
        }
        /// <summary>
        /// Base constructor for connectors, registers default events for
        /// setting the connection state.
        /// </summary>
        /// <param name="link">Link</param>
        protected Connector(AbstractContainer link)
        {
            _link           = link;
            ConnectionState = ConnectionState.Disconnected;

            OnOpen += () =>
            {
                ConnectionState = ConnectionState.Connected;
                _link.Logger.Info("Connected");
            };

            OnClose += () =>
            {
                ConnectionState = ConnectionState.Disconnected;
                _link.Logger.Info("Disconnected");
            };
        }
 private void Extract(AbstractContainer container, string path)
 {
     if (container is FileContainer)
     {
         File.WriteAllBytes(
             Path.Combine(path, container.Name),
             (container as FileContainer).Content
             );
     }
     if (container is FolderContainer)
     {
         string pathForChildren = Path.Combine(path, container.Name);
         Directory.CreateDirectory(pathForChildren);
         foreach (AbstractContainer children in ((FolderContainer)container).GetChildren())
         {
             Extract(children, pathForChildren);
         }
     }
 }
Beispiel #13
0
        /// <summary>
        /// Node constructor
        /// </summary>
        /// <param name="name">Name of Node</param>
        /// <param name="parent">Parent of Node</param>
        /// <param name="link">DSLink container of Node</param>
        /// <param name="className">Node class name</param>
        public Node(string name, Node parent, AbstractContainer link, string className = "node")
        {
            if (name == null)
            {
                throw new ArgumentException("Name must not be null.");
            }
            if (name.IndexOfAny(BannedChars) != -1)
            {
                throw new ArgumentException("Invalid character(s) in Node name.");
            }
            ClassName = className;
            Parent    = parent;
            _children = new Dictionary <string, Node>();
            _configs  = new Dictionary <string, Value>
            {
                { "$is", new Value("node") }
            };
            _attributes      = new Dictionary <string, Value>();
            _removedChildren = new List <Node>();
            Subscribers      = new List <int>();
            Streams          = new List <int>();
            _link            = link;

            Value        = new Value();
            Value.OnSet += ValueSet;

            if (parent != null)
            {
                if (name.Equals(""))
                {
                    throw new ArgumentException("name");
                }
                Name = name;
                Path = (parent.Path.Equals("/") ? "" : parent.Path) + "/" + name;
            }
            else
            {
                Name = name;
                Path = "/" + name;
            }

            link?.Responder?.StreamManager?.OnActivateNode(this);
        }
 public iOSWebSocketConnector(AbstractContainer link) : base(link)
 {
 }
Beispiel #15
0
 protected AbstractContainerViewModel(AbstractContainer component)
 {
     _component = component;
 }
		public void Read_AbstractContainer ()
		{
			var obj = new AbstractContainer () { Value2 = new DerivedObject () { Foo = "x" } };
			var xr = new XamlObjectReader (obj);
			while (!xr.IsEof)
				xr.Read ();
		}
 /// <summary>
 /// Initializes a new instance of the
 /// <see cref="T:DSLink.Respond.Response"/> class.
 /// </summary>
 /// <param name="link">Link instance</param>
 /// <param name="requestID">Request identifier</param>
 public Response(AbstractContainer link, int requestID)
 {
     _link     = link;
     RequestID = requestID;
 }
Beispiel #18
0
 /// <summary>
 /// Create an instance of the selected Connetor.
 /// </summary>
 /// <param name="link">DSLink container instance</param>
 public static Connector Create(AbstractContainer link)
 {
     return((Connector)Activator.CreateInstance(ConnectorType, link));
 }
 public void AbstractNullPropertyIsSetToNull()
 {
    var expected = new AbstractContainer();
    var data = Serializer.Serialize(expected);
    var actual = Deserializer.Deserialize<AbstractContainer>(data);
    Assert.Equal(null, actual.Implementation);
 }
 public void AbstractPropertyIsPreserved()
 {
    var expected = new AbstractContainer {Implementation = new ImplementationA {Name = "Working"}};
    var data = Serializer.Serialize(expected);
    var actual = Deserializer.Deserialize<AbstractContainer>(data);
    Assert.Equal("Working", ((ImplementationA)actual.Implementation).Name);
 }
 internal Requester(AbstractContainer link)
 {
     _link                = link;
     _requestManager      = new RequestManager();
     _subscriptionManager = new RemoteSubscriptionManager(_link);
 }
 public WebSocketSharpConnector(AbstractContainer link) : base(link)
 {
 }
Beispiel #23
0
 /// <summary>
 /// Initializes a new instance of the
 /// <see cref="T:DSLink.Respond.SubscriptionManager"/> class.
 /// </summary>
 /// <param name="link">Link container instance</param>
 public SubscriptionManager(AbstractContainer link)
 {
     _subscriptions = new Dictionary <int, Node>();
     _link          = link;
 }
Beispiel #24
0
 /// <summary>
 /// StreamManager constructor.
 /// </summary>
 /// <param name="link"></param>
 public StreamManager(AbstractContainer link)
 {
     _link = link;
 }
 /// <summary>
 /// Initializes a new instance of the
 /// <see cref="T:DSLink.Request.ListRequest"/> class.
 /// </summary>
 /// <param name="requestID">Request identifier</param>
 /// <param name="callback">Callback</param>
 /// <param name="path">Path</param>
 /// <param name="link">Link</param>
 public ListRequest(int requestID, Action <ListResponse> callback, string path, AbstractContainer link) : base(requestID)
 {
     Callback = callback;
     Path     = path;
     _link    = link;
 }
        private void buttonExctract_Click(object sender, EventArgs e)
        {
            AbstractContainer containerToExtract = GetContainerForSelectedRow();

            ExtractAndShow(containerToExtract);
        }