public void write(TagWriter tagWriter, Playlist playlist)
            {
                if (playlist.hasMediaPlaylist())
                {
                    KeyWriter     keyWriter     = new KeyWriter();
                    MapInfoWriter mapInfoWriter = new MapInfoWriter();

                    foreach (TrackData trackData in playlist.getMediaPlaylist().getTracks())
                    {
                        if (trackData.hasDiscontinuity())
                        {
                            tagWriter.writeTag(Constants.EXT_X_DISCONTINUITY_TAG);
                        }

                        keyWriter.writeTrackData(tagWriter, playlist, trackData);
                        mapInfoWriter.writeTrackData(tagWriter, playlist, trackData);

                        if (trackData.hasByteRange())
                        {
                            writeByteRange(tagWriter, trackData.getByteRange());
                        }

                        writeExtinf(tagWriter, playlist, trackData);
                        tagWriter.writeLine(trackData.getUri());
                    }
                }
            }
Beispiel #2
0
        public void Write(string id, Domain domain, string attribName, Type attribType, object defaultVal, string expectedOutput)
        {
            var keyWriter = new KeyWriter();
            var innerWriter = new StringWriter();
            var writer = new XmlTextWriter(innerWriter);

            keyWriter.Write(id, domain, attribName, attribType, defaultVal, writer);

            string result = innerWriter.ToString();
            Assert.Equal(expectedOutput, result);
        }
Beispiel #3
0
        public void CheckAndWriteDefault(Type type, object defaultVal, string expectedOutput)
        {
            var keyWriter = new KeyWriter();
            var innerWriter = new StringWriter();
            var writer = new XmlTextWriter(innerWriter);

            keyWriter.CheckAndWriteDefault(type, defaultVal, writer);

            string result = innerWriter.ToString();
            Assert.Equal(expectedOutput, result);
        }
        private static void Main(string[] args)
        {
            Console.WriteLine("Metin2 KeyForcer 0.1");
            Console.WriteLine("Part of Metin2ServerEmulator project.");
            Console.WriteLine("=====================================");
            if (args.Length != 2)
            {
                goto InvalidArgs;
            }
            try
            {
                _key = Win32.HexStringToByteArray(args[1]);
            }
            catch (Exception)
            {
                goto InvalidArgs;
            }
            try
            {
                KeyWriter.SetMetin2Key(args[0], _key);
                WriteSuccess("Key Froze to : " + Win32.ByteArrayToHexString(_key, true));
                while (true)
                {
                    KeyWriter.SetMetin2Key(args[0], _key);
                }
            }
            catch (Exception ex)
            {
                WriteErr(ex.Message);
            }

EndProgram:
            {
                Console.ReadKey();
                return;
            }
InvalidArgs:
            {
                Console.WriteLine("Usage:");
                Console.WriteLine("Metin2KeyForcer <Process> <AABBCCDDEEFFAABBCCDDEEFFAABBCCDD>");
                goto EndProgram;
            }
        }
Beispiel #5
0
        public void WriteDefaultElement(object val, string expectedOutput)
        {
            var keyWriter = new KeyWriter();
            var innerWriter = new StringWriter();
            var writer = new XmlTextWriter(innerWriter);

            if (val == null)    // then string
                keyWriter.WriteDefaultElement<string>((string)val, writer);
            else if (val is string)
                keyWriter.WriteDefaultElement<string>((string)val, writer);
            else if (val is double)
                keyWriter.WriteDefaultElement<double>((double)val, writer);
            else if (val is float)
                keyWriter.WriteDefaultElement<float>((float)val, writer);
            else if (val is int)
                keyWriter.WriteDefaultElement<int>((int)val, writer);
            else if (val is bool)
                keyWriter.WriteDefaultElement<bool>((bool)val, writer);
            else
                Assert.True(false); //force a fail

            string result = innerWriter.ToString();
            Assert.Equal(expectedOutput, result);
        }
Beispiel #6
0
 public WritePrivateKeyPrompt(KeyWriter keyWriter)
 {
     _keyWriter = keyWriter;
 }
 //internal void WriteKeys(IBasicAdjList network, XmlWriter writer)
 //{
 //    KeyWriter kw = new KeyWriter();
 //    if (!string.IsNullOrEmpty(network.Name))
 //    {
 //        WriteNetworkNameKey(_KeyId_ForNetworkName, BlueSpider.GraphML.XMLConstants._KeyId_ForNetworkName, kw, writer);
 //    }
 //    string nodeKeyFormat = "nd{0}";
 //    string key = null;
 //    for (int i = 0; i < network.NodeMaps.Length; i++)
 //    {
 //        key = string.Format(nodeKeyFormat, i);
 //        if (network.NodeMaps[i] is INodeIntMap)
 //            WriteKey(key, (INodeIntMap)network.NodeMaps[i], kw, writer);
 //        else if (network.NodeMaps[i] is INodeDoubleMap)
 //            WriteKey(key, (INodeDoubleMap)network.NodeMaps[i], kw, writer);
 //        else if (network.NodeMaps[i] is INodeBoolMap)
 //            WriteKey(key, (INodeBoolMap)network.NodeMaps[i], kw, writer);
 //        else if (network.NodeMaps[i] is INodeStringMap)
 //            WriteKey(key, (INodeStringMap)network.NodeMaps[i], kw, writer);
 //        else
 //            InvalidMapType(network.NodeMaps[i]);
 //        NodeDataKeys.Add(key);
 //    }
 //    string edgeKeyFormat = "ed{0}";
 //    for (int i = 0; i < network.EdgeMaps.Length; i++)
 //    {
 //        key = string.Format(edgeKeyFormat, i);
 //        if (network.EdgeMaps[i] is IEdgeIntMap)
 //            WriteKey(key, (IEdgeIntMap)network.EdgeMaps[i], kw, writer);
 //        else if (network.EdgeMaps[i] is IEdgeDoubleMap)
 //            WriteKey(key, (IEdgeDoubleMap)network.EdgeMaps[i], kw, writer);
 //        else if (network.EdgeMaps[i] is IEdgeBoolMap)
 //            WriteKey(key, (IEdgeBoolMap)network.EdgeMaps[i], kw, writer);
 //        else if (network.EdgeMaps[i] is IEdgeStringMap)
 //            WriteKey(key, (IEdgeStringMap)network.EdgeMaps[i], kw, writer);
 //        else
 //            InvalidMapType(network.EdgeMaps[i]);
 //        EdgeDataKeys.Add(key);
 //    }
 //}
 internal virtual void WriteNetworkNameKey(string keyId, string networkName, KeyWriter keyWriter, XmlWriter writer)
 {
     keyWriter.Write(keyId, Domain.graph, networkName, typeof(string), null, writer);
 }
        internal virtual void WriteKeys(IBasicAdjList network, XmlWriter writer)
        {
            KeyWriter kw = new KeyWriter();

            if (!string.IsNullOrEmpty(network.Name))
            {
                WriteNetworkNameKey(_KeyId_ForNetworkName, BlueSpider.GraphML.XMLConstants._KeyId_ForNetworkName, kw, writer);
            }

            string nodeKeyFormat = "nd{0}";
            string key = null;
            string colName = null;
            Type colType = null;
            object defaultVal = null;
            for (int i = 0; i < network.NodeDataAttributeCount; i++)
            {
                key = string.Format(nodeKeyFormat, i);
                colName = network.NodeData.ColumnNames[i];
                colType = network.NodeData.DataTypes[i];
                defaultVal = network.NodeData.ColumnDefaultValues[i];

                WriteKey(key, colName, colType, defaultVal, kw, writer);

                NodeDataKeys.Add(key);
            }

            string edgeKeyFormat = "ed{0}";
            for (int i = 0; i < network.EdgeDataAttributeCount; i++)
            {
                key = string.Format(edgeKeyFormat, i);

                colName = network.EdgeData.ColumnNames[i];
                colType = network.EdgeData.DataTypes[i];
                defaultVal = network.EdgeData.ColumnDefaultValues[i];

                WriteKey(key, colName, colType, defaultVal, kw, writer);

                EdgeDataKeys.Add(key);
            }
        }
        internal virtual void WriteKey(string keyId, string name, Type dataType, object defaultValue, KeyWriter keyWriter, XmlWriter writer)
        {
            if(keyId == null)
                throw new ArgumentNullException("keyId");
            if (string.IsNullOrWhiteSpace(keyId))
                throw new ArgumentException("keyId cannot be an empty string", "keyId");
            if (name == null)
                throw new ArgumentNullException("name");
            if (string.IsNullOrWhiteSpace(name))
                throw new ArgumentException("key data name cannot be an empty string", "name");
            if (dataType == null)
                throw new ArgumentNullException("dataType");
            if (keyWriter == null)
                throw new ArgumentNullException("keyWriter");
            if (writer == null)
                throw new ArgumentNullException("writer");

            keyWriter.Write(keyId, Domain.node, name, dataType, defaultValue, writer);
        }