Example #1
0
        public void StartRecording(string filename)
        {
            if (!recordings.ContainsKey(filename))
            {
                if (recordings.Count == 0)
                {
                    SubscribeEvents();
                }

                StreamWriter writer = null;
                if (filename.EndsWith(".gz", StringComparison.InvariantCultureIgnoreCase))
                {
                    FileStream filewriter = new FileStream(filename, FileMode.OpenOrCreate, FileAccess.Write);
                    writer = new StreamWriter(new GZipStream(filewriter, CompressionMode.Compress));
                }
                else
                {
                    writer = new StreamWriter(filename);
                }

                String pathPrefix = "";
                if (filename.LastIndexOf("/") != -1 || filename.LastIndexOf("\\") != -1)
                {
                    int lastIndex = filename.LastIndexOf("/");
                    if (lastIndex == -1)
                    {
                        lastIndex = filename.LastIndexOf("\\");
                    }
                    pathPrefix = filename.Substring(0, lastIndex + 1);
                }
                MainGraphExportContext mainGraphContext = GRSExport.ExportYouMustCloseStreamWriter(graph, writer, pathPrefix, false, null);

                recordings.Add(new KeyValuePair <string, RecordingState>(filename,
                                                                         new RecordingState(writer, mainGraphContext)));
            }
        }