Ejemplo n.º 1
0
        private void ListPackageVersions(
            ClientConnection clientConnection,
            ClientRequest clientRequest)
        {
            // request
            XmlDocument xmlDocument = new XmlDocument();

            using (MemoryStream memoryStream = new MemoryStream(clientRequest.Message.Data))
            {
                xmlDocument.Load(memoryStream);
            }

            XmlMessageListPackages listPackagesMessage = XmlMessageCreator.CreateXmlMessageListPackages(xmlDocument);

            // response
            XmlMessageListPackageVersions packageVersions = XmlMessageCreator.CreateXmlMessageListPackageVersions();

            foreach (KeyValuePair <string, List <string> > repositoryItem in listPackagesMessage.Repositories)
            {
                Repository repository = _repositoryManager.GetRepository(repositoryItem.Key);
                foreach (string packageName in repositoryItem.Value)
                {
                    List <string> versions = repository.GetPackageVersions(packageName);
                    if (!packageVersions.AddRepositoryPackageVersions(repository.Name, packageName, versions))
                    {
                        Console.WriteLine("ERROR: Cannot add package versions!");
                    }
                }
            }

            SendClientXmlResponse(clientConnection, clientRequest, PacketMessageType.S_PACKAGE_VERSIONS, packageVersions);
        }
Ejemplo n.º 2
0
        public void GetPackageVersions(
            string repositoryName,
            string packageNames)
        {
            XmlMessageListPackages listPackagesMessage = XmlMessageCreator.CreateXmlMessageListPackages();

            List <string> packages = packageNames.Split(',').ToList <string>();

            listPackagesMessage.AddRepositoryPackages(repositoryName, packages);


            // create packet
            PacketMessage packetMessage =
                new PacketMessage(PacketMessageType.C_LIST_PACKAGE_VERSIONS, 0, listPackagesMessage.ToByteArray());

            byte[] packet = _packetManager.CreateMessage(packetMessage.GetMessageData());

            // send
            _clientSocket.Send(packet);

            // get response
            int rec = _clientSocket.Receive(_socketBuffer);

            byte[] data = new byte[rec];
            Array.Copy(_socketBuffer, data, rec);
            _packetManager.AddReceivedData(data);
        }
        private void OnListPackagesMessageReceived(PacketMessage packetMessage)
        {
            XmlDocument xmlDocument = CreateXmlDocumentFromMessage(packetMessage);
            //Console.WriteLine("DEBUG: Received S_PACKAGES: " + xmlDocument.OuterXml);
            XmlMessageListPackages message = XmlMessageCreator.CreateXmlMessageListPackages(xmlDocument);

            if (ListPackagesMessageReceived != null)
            {
                ListPackagesMessageReceived(this, message);
            }
        }
Ejemplo n.º 4
0
 private static void OnListPackagesMessageReceived(object sender, XmlMessageListPackages message)
 {
     foreach (KeyValuePair <string, List <string> > repository in message.Repositories)
     {
         Console.WriteLine("# Packages of '" + repository.Key + "' repository:");
         foreach (string package in repository.Value)
         {
             Console.WriteLine("   * " + package);
         }
     }
 }
Ejemplo n.º 5
0
        private void ListPackages(
            ClientConnection clientConnection,
            ClientRequest clientRequest)
        {
            XmlMessageListPackages listPackagesMessage = XmlMessageCreator.CreateXmlMessageListPackages();

            foreach (Repository repository in _repositoryManager.Repositories.Values)
            {
                List <string> packages = new List <string>();
                foreach (string package in repository.GetPackages())
                {
                    packages.Add(package);
                }

                listPackagesMessage.AddRepositoryPackages(repository.Name, packages);
            }

            SendClientXmlResponse(clientConnection, clientRequest, PacketMessageType.S_PACKAGES, listPackagesMessage);
        }