Example #1
0
        public HarvesterListener(String initalizeData)
        {
            initalizeData = initalizeData ?? String.Empty;

            machineName = Environment.MachineName;
            domain      = AppDomain.CurrentDomain.FriendlyName;

            var parsedInitializeData = ParseInitializationData(initalizeData);
            var binding    = parsedInitializeData.ContainsKey("Binding") ? parsedInitializeData["Binding"] : @"\\.\pipe\Harvester";
            var mutexName  = parsedInitializeData.ContainsKey("Mutex Name") ? parsedInitializeData["Mutex Name"] : "HarvesterMutex";
            var bufferType = parsedInitializeData.ContainsKey("Buffer Type") ? parsedInitializeData["Buffer Type"] : "NamedPipeBuffer";

            switch (bufferType)
            {
            case "SharedMemoryBuffer":
                messageBuffer = new SharedMemoryBuffer(binding, OutputDebugString.BufferSize);
                messageWriter = new OutputDebugStringWriter(mutexName, messageBuffer);
                break;

            case "NamedPipeBuffer":
                messageBuffer = new NamedPipeClientBuffer(".", binding);
                messageWriter = new PipeMessageWriter(mutexName, messageBuffer);
                break;

            default:
                throw new NotSupportedException(String.Format(Localization.BufferTypeNotSupported, bufferType));
            }
        }
        public HarvesterListener(String initalizeData)
        {
            initalizeData = initalizeData ?? String.Empty;

            machineName = Environment.MachineName;
            domain = AppDomain.CurrentDomain.FriendlyName;

            var parsedInitializeData = ParseInitializationData(initalizeData);
            var binding = parsedInitializeData.ContainsKey("Binding") ? parsedInitializeData["Binding"] : @"\\.\pipe\Harvester";
            var mutexName = parsedInitializeData.ContainsKey("Mutex Name") ? parsedInitializeData["Mutex Name"] : "HarvesterMutex";
            var bufferType = parsedInitializeData.ContainsKey("Buffer Type") ? parsedInitializeData["Buffer Type"] : "NamedPipeBuffer";

            switch (bufferType)
            {
                case "SharedMemoryBuffer":
                    messageBuffer = new SharedMemoryBuffer(binding, OutputDebugString.BufferSize);
                    messageWriter = new OutputDebugStringWriter(mutexName, messageBuffer);
                    break;
                case "NamedPipeBuffer":
                    messageBuffer = new NamedPipeClientBuffer(".", binding);
                    messageWriter = new PipeMessageWriter(mutexName, messageBuffer);
                    break;
                default:
                    throw new NotSupportedException(String.Format(Localization.BufferTypeNotSupported, bufferType));
            }
        }
Example #3
0
        public override void ActivateOptions()
        {
            base.ActivateOptions();

            switch (BufferType)
            {
                case "SharedMemoryBuffer":
                    MessageBuffer = new SharedMemoryBuffer(Binding, OutputDebugString.BufferSize);
                    MessageWriter = new OutputDebugStringWriter(MutexName, MessageBuffer);
                    break;
                case "NamedPipeBuffer":
                    MessageBuffer = new NamedPipeClientBuffer(".", Binding);
                    MessageWriter = new PipeMessageWriter(MutexName, MessageBuffer);
                    break;
                default:
                    throw new NotSupportedException(String.Format(Localization.BufferTypeNotSupported, BufferType));
            }
        }
Example #4
0
        /// <summary>
        /// Initializes a new instance of <see cref="HarvesterListener"/>.
        /// </summary>
        /// <param name="initializeData">The message buffer initialization string (i.e., Binding=\\.\pipe\Harvester; Buffer Type=NamedPipeBuffer; Mutex Name=HarvesterMutex;)</param>
        public HarvesterListener(String initializeData)
        {
            var parsedInitializeData = ParseInitializationData(initializeData ?? String.Empty);
            var binding = parsedInitializeData.ContainsKey("Binding") ? parsedInitializeData["Binding"] : @"\\.\pipe\Harvester";
            var mutexName = parsedInitializeData.ContainsKey("Mutex Name") ? parsedInitializeData["Mutex Name"] : "HarvesterMutex";
            var bufferType = parsedInitializeData.ContainsKey("Buffer Type") ? parsedInitializeData["Buffer Type"] : "NamedPipeBuffer";

            captureIdentity = !parsedInitializeData.ContainsKey("Capture Identity") || Boolean.Parse(parsedInitializeData["Capture Identity"]);
            switch (bufferType)
            {
                case "SharedMemoryBuffer":
                    messageBuffer = new SharedMemoryBuffer(binding, OutputDebugString.BufferSize);
                    messageWriter = new OutputDebugStringWriter(mutexName, messageBuffer);
                    break;
                case "NamedPipeBuffer":
                    messageBuffer = new NamedPipeClientBuffer(".", binding);
                    messageWriter = new PipeMessageWriter(mutexName, messageBuffer);
                    break;
                default:
                    throw new NotSupportedException(String.Format(Localization.BufferTypeNotSupported, bufferType));
            }
        }
        /// <summary>
        /// Initializes a new instance of <see cref="HarvesterListener"/>.
        /// </summary>
        /// <param name="initializeData">The message buffer initialization string (i.e., Binding=\\.\pipe\Harvester; Buffer Type=NamedPipeBuffer; Mutex Name=HarvesterMutex;)</param>
        public HarvesterListener(String initializeData)
        {
            var parsedInitializeData = ParseInitializationData(initializeData ?? String.Empty);
            var binding    = parsedInitializeData.ContainsKey("Binding") ? parsedInitializeData["Binding"] : @"\\.\pipe\Harvester";
            var mutexName  = parsedInitializeData.ContainsKey("Mutex Name") ? parsedInitializeData["Mutex Name"] : "HarvesterMutex";
            var bufferType = parsedInitializeData.ContainsKey("Buffer Type") ? parsedInitializeData["Buffer Type"] : "NamedPipeBuffer";

            captureIdentity = !parsedInitializeData.ContainsKey("Capture Identity") || Boolean.Parse(parsedInitializeData["Capture Identity"]);
            switch (bufferType)
            {
            case "SharedMemoryBuffer":
                messageBuffer = new SharedMemoryBuffer(binding, OutputDebugString.BufferSize);
                messageWriter = new OutputDebugStringWriter(mutexName, messageBuffer);
                break;

            case "NamedPipeBuffer":
                messageBuffer = new NamedPipeClientBuffer(".", binding);
                messageWriter = new PipeMessageWriter(mutexName, messageBuffer);
                break;

            default:
                throw new NotSupportedException(String.Format(Localization.BufferTypeNotSupported, bufferType));
            }
        }