コード例 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TcpListener"/> class.
 /// </summary>
 /// <param name="loggerFactory">The logger factory.</param>
 /// <exception cref="ArgumentNullException">loggerFactory</exception>
 /// <autogeneratedoc />
 public TcpListener(IPureLoggerFactory loggerFactory) : base(loggerFactory.CreatePureLogger <SocketListener>())
 {
     if (loggerFactory == null)
     {
         throw new ArgumentNullException(nameof(loggerFactory));
     }
 }
コード例 #2
0
ファイル: PureObjectBase.cs プロジェクト: Kiphaz/PureActive
        /// <summary>
        /// Initializes a new instance of the <see cref="PureObjectBase"/> class.
        /// </summary>
        /// <param name="loggerFactory">The logger factory.</param>
        /// <param name="logger">The logger.</param>
        /// <exception cref="ArgumentNullException">loggerFactory</exception>
        /// <autogeneratedoc />
        protected PureObjectBase(IPureLoggerFactory loggerFactory, IPureLogger logger = null) :
            base(loggerFactory, logger)
        {
            // Handled by base
            // if (loggerFactory == null) throw new ArgumentNullException(nameof(loggerFactory));

            _createdTimestamp = ModifiedTimestamp = DateTimeOffset.Now;
            _objectId         = Guid.NewGuid();
            ObjectVersion     = ObjectVersionStart;

            Logger = logger ?? LoggerFactory.CreatePureLogger <PureObjectBase>();
        }
コード例 #3
0
ファイル: CommonServices.cs プロジェクト: Kiphaz/PureActive
        /// <summary>
        /// Creates the instance core.
        /// </summary>
        /// <param name="loggerFactory">The logger factory.</param>
        /// <param name="fileSystem">The file system.</param>
        /// <returns>ICommonServices.</returns>
        /// <exception cref="ArgumentNullException">loggerFactory</exception>
        /// <autogeneratedoc />
        private static ICommonServices CreateInstanceCore(IPureLoggerFactory loggerFactory, IFileSystem fileSystem)
        {
            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

            var processRunner    = new ProcessRunner(loggerFactory.CreatePureLogger <ProcessRunner>());
            var operationRunner  = new OperationRunner(loggerFactory.CreatePureLogger <OperationRunner>());
            var networkingSystem = new NetworkingSystem(loggerFactory.CreatePureLogger <NetworkingSystem>());

            return(new CommonServices(processRunner, fileSystem, networkingSystem, fileSystem.OperatingSystem, operationRunner, loggerFactory));
        }
コード例 #4
0
ファイル: StartupSettings.cs プロジェクト: Kiphaz/PureActive
        /// <summary>
        /// Initializes a new instance of the <see cref="StartupSettings"/> class.
        /// </summary>
        /// <param name="configuration">The configuration.</param>
        /// <param name="hostingEnvironment">The hosting environment.</param>
        /// <param name="loggerFactory">The logger factory.</param>
        /// <param name="serviceHost">The service host.</param>
        /// <param name="fileSystem">The file system.</param>
        /// <param name="operatingSystem">The operating system.</param>
        /// <param name="serviceHostConfig">The service host configuration.</param>
        /// <param name="serviceDatabaseConfig">The service database configuration.</param>
        /// <exception cref="ArgumentNullException">
        /// configuration
        /// or
        /// hostingEnvironment
        /// or
        /// loggerFactory
        /// or
        /// fileSystem
        /// or
        /// operatingSystem
        /// </exception>
        /// <autogeneratedoc />
        protected StartupSettings(IConfiguration configuration, IHostingEnvironment hostingEnvironment,
                                  IPureLoggerFactory loggerFactory, ServiceHost serviceHost, IFileSystem fileSystem,
                                  IOperatingSystem operatingSystem, ServiceHostConfig serviceHostConfig = ServiceHostConfig.Kestrel,
                                  ServiceDatabaseConfig serviceDatabaseConfig = ServiceDatabaseConfig.LocalHost)
        {
            Configuration      = configuration ?? throw new ArgumentNullException(nameof(configuration));
            HostingEnvironment = hostingEnvironment ?? throw new ArgumentNullException(nameof(hostingEnvironment));
            LoggerFactory      = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory));
            FileSystem         = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem));
            OperatingSystem    = operatingSystem ?? throw new ArgumentNullException(nameof(operatingSystem));

            ServiceHost           = serviceHost;
            ServiceHostConfig     = serviceHostConfig;
            ServiceDatabaseConfig = serviceDatabaseConfig;
        }
コード例 #5
0
        /// <summary>
        /// Creates the instance.
        /// </summary>
        /// <param name="loggerFactory">The logger factory.</param>
        /// <param name="commonServices">The common services.</param>
        /// <returns>ICommonNetworkServices.</returns>
        /// <exception cref="ArgumentNullException">
        /// loggerFactory
        /// or
        /// commonServices
        /// </exception>
        /// <autogeneratedoc />
        public static ICommonNetworkServices CreateInstance(IPureLoggerFactory loggerFactory, ICommonServices commonServices)
        {
            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }
            if (commonServices == null)
            {
                throw new ArgumentNullException(nameof(commonServices));
            }

            // Common Network Services
            var pingService = new PingService.PingService(commonServices);
            var arpService  = new ArpService.ArpService(commonServices, pingService);

            return(new CommonNetworkServices(commonServices, pingService, arpService));
        }
コード例 #6
0
        /// <summary>
        /// Registers the hangfire queue.
        /// </summary>
        /// <param name="services">The services.</param>
        /// <param name="connectionString">The connection string.</param>
        /// <param name="loggerFactory">The logger factory.</param>
        public static void AddHangfireQueue(
            this IServiceCollection services,
            string connectionString,
            IPureLoggerFactory loggerFactory)
        {
            services.AddHangfire
            (
                config =>
            {
                var logProvider = new HangfireLogProvider(loggerFactory);
                var storage     = RetryGetHangfireStorage(connectionString);

                config
                .UseLogProvider(logProvider)
                .UseStorage(storage);
            }
            );
        }
コード例 #7
0
ファイル: DhcpMessage.cs プロジェクト: Kiphaz/PureActive
        /// <summary>
        /// Initializes a new instance of the <see cref="DhcpMessage" /> class.
        /// </summary>
        /// <param name="loggerFactory">The logger factory.</param>
        /// <param name="logger">The logger.</param>
        public DhcpMessage(IPureLoggerFactory loggerFactory, IPureLogger logger = null) :
            base(loggerFactory, logger)
        {
            CreatedTimestamp = DateTimeOffset.Now;

            _op    = (byte)OperationCode.BootReply;
            _htype = (byte)HardwareType.Ethernet;
            _hlen  = 0;
            _hops  = 0;
            _xid   = (ushort)Random.Next(ushort.MaxValue);
            _secs  = 0;
            Array.Clear(_flags, 0, _flags.Length);
            Array.Clear(_ciaddr, 0, _ciaddr.Length);
            Array.Clear(_yiaddr, 0, _yiaddr.Length);
            Array.Clear(_siaddr, 0, _siaddr.Length);
            Array.Clear(_giaddr, 0, _giaddr.Length);
            Array.Clear(_chaddr, 0, _chaddr.Length);
            Array.Clear(_sname, 0, _sname.Length);
            Array.Clear(_file, 0, _file.Length);
        }
コード例 #8
0
 /// <inheritdoc />
 public StartupTest(IConfiguration configuration, IHostingEnvironment hostingEnvironment,
                    IPureLoggerFactory loggerFactory, IFileSystem fileSystem, IOperatingSystem operatingSystem) :
     base(configuration, hostingEnvironment, loggerFactory, ServiceHost.StartupSettingsTest, fileSystem,
          operatingSystem)
 {
 }
コード例 #9
0
ファイル: CommonServices.cs プロジェクト: Kiphaz/PureActive
 /// <summary>
 /// Initializes a new instance of the <see cref="CommonServices"/> class.
 /// </summary>
 /// <param name="processRunner">The process runner.</param>
 /// <param name="fileSystem">The file system.</param>
 /// <param name="networkingSystem">The networking system.</param>
 /// <param name="operatingSystem">The operating system.</param>
 /// <param name="operationRunner">The operation runner.</param>
 /// <param name="loggerFactory">The logger factory.</param>
 /// <exception cref="ArgumentNullException">
 /// processRunner
 /// or
 /// fileSystem
 /// or
 /// operatingSystem
 /// or
 /// operationRunner
 /// </exception>
 /// <autogeneratedoc />
 public CommonServices(IProcessRunner processRunner, IFileSystem fileSystem, INetworkingSystem networkingSystem,
                       IOperatingSystem operatingSystem, IOperationRunner operationRunner, IPureLoggerFactory loggerFactory) :
     base(loggerFactory)
 {
     NetworkingSystem = networkingSystem ?? throw new ArgumentNullException(nameof(networkingSystem));
     ProcessRunner    = processRunner ?? throw new ArgumentNullException(nameof(processRunner));
     FileSystem       = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem));
     OperatingSystem  = operatingSystem ?? throw new ArgumentNullException(nameof(operatingSystem));
     OperationRunner  = operationRunner ?? throw new ArgumentNullException(nameof(operationRunner));
 }
コード例 #10
0
ファイル: CommonServices.cs プロジェクト: Kiphaz/PureActive
 /// <summary>
 /// Creates the instance.
 /// </summary>
 /// <param name="loggerFactory">The logger factory.</param>
 /// <param name="configuration">The configuration.</param>
 /// <returns>ICommonServices.</returns>
 /// <autogeneratedoc />
 public static ICommonServices CreateInstance(IPureLoggerFactory loggerFactory, IConfigurationRoot configuration)
 {
     return(CreateInstanceCore(loggerFactory, new FileSystem(configuration)));
 }
コード例 #11
0
ファイル: CommonServices.cs プロジェクト: Kiphaz/PureActive
 /// <summary>
 /// Creates the instance.
 /// </summary>
 /// <param name="loggerFactory">The logger factory.</param>
 /// <param name="type">The type.</param>
 /// <returns>ICommonServices.</returns>
 /// <autogeneratedoc />
 public static ICommonServices CreateInstance(IPureLoggerFactory loggerFactory, Type type)
 {
     return(CreateInstanceCore(loggerFactory, new FileSystem(type)));
 }
コード例 #12
0
ファイル: CommonServices.cs プロジェクト: Kiphaz/PureActive
 /// <summary>
 /// Creates the instance.
 /// </summary>
 /// <param name="loggerFactory">The logger factory.</param>
 /// <param name="appFolderName">Name of the application folder.</param>
 /// <returns>ICommonServices.</returns>
 /// <autogeneratedoc />
 public static ICommonServices CreateInstance(IPureLoggerFactory loggerFactory, string appFolderName)
 {
     return(CreateInstanceCore(loggerFactory, new FileSystem(appFolderName)));
 }
コード例 #13
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PureObjectTest" /> class.
 /// </summary>
 /// <param name="loggerFactory">The logger factory.</param>
 /// <autogeneratedoc />
 public PureObjectTest(IPureLoggerFactory loggerFactory) : base(loggerFactory)
 {
 }
コード例 #14
0
 /// <summary>
 ///     Constructor.
 /// </summary>
 public HangfireLogProvider(IPureLoggerFactory loggerFactory)
 {
     _loggerFactory = loggerFactory;
 }
コード例 #15
0
 /// <inheritdoc />
 public TestLoggable(string stringValue, IPureLoggerFactory loggerFactory, IPureLogger logger = null) :
     base(ParentTestValue, loggerFactory, logger)
 {
     StringValue = stringValue;
 }
コード例 #16
0
 public TestLoggableParent(string parentStringValue, IPureLoggerFactory loggerFactory, IPureLogger logger = null) :
     base(loggerFactory, logger)
 {
     ParentStringValue = parentStringValue;
 }
コード例 #17
0
ファイル: PureLoggableBase.cs プロジェクト: Kiphaz/PureActive
 /// <summary>
 /// Initializes a new instance of the <see cref="PureLoggableBase{T}"/> class.
 /// </summary>
 /// <param name="loggerFactory">The logger factory.</param>
 /// <param name="logger">The logger.</param>
 /// <exception cref="ArgumentNullException">loggerFactory</exception>
 /// <autogeneratedoc />
 public PureLoggableBase(IPureLoggerFactory loggerFactory, IPureLogger logger = null)
 {
     LoggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory));
     Logger        = logger ?? loggerFactory.CreatePureLogger <T>();
 }
コード例 #18
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PureObjectBaseTest" /> class.
 /// </summary>
 /// <param name="testValue">The test value.</param>
 /// <param name="loggerFactory">The logger factory.</param>
 /// <exception cref="ArgumentNullException">testValue</exception>
 /// <autogeneratedoc />
 public PureObjectBaseTest(string testValue, IPureLoggerFactory loggerFactory) : base(loggerFactory)
 {
     TestValue = testValue ?? throw new ArgumentNullException(nameof(testValue));
 }
コード例 #19
0
 /// <summary>
 /// Creates the instance.
 /// </summary>
 /// <param name="loggerFactory">The logger factory.</param>
 /// <param name="appName">Name of the application.</param>
 /// <returns>ICommonNetworkServices.</returns>
 /// <autogeneratedoc />
 public static ICommonNetworkServices CreateInstance(IPureLoggerFactory loggerFactory, string appName)
 {
     return(CreateInstance(loggerFactory,
                           Hosting.CommonServices.CommonServices.CreateInstance(loggerFactory, appName)));
 }
コード例 #20
0
ファイル: DhcpMessage.cs プロジェクト: Kiphaz/PureActive
        /// <summary>
        /// Initializes a new instance of the <see cref="DhcpMessage" /> class.
        /// </summary>
        /// <param name="data">Array containing the data to decode.</param>
        /// <param name="loggerFactory">The logger factory.</param>
        /// <param name="logger">The logger.</param>
        public DhcpMessage(byte[] data, IPureLoggerFactory loggerFactory, IPureLogger logger = null)
            : base(loggerFactory, logger)
        {
            ByteReader byteReader = new ByteReader(data, ByteOrder.Network);

            CreatedTimestamp = DateTimeOffset.Now;

            _op     = byteReader.ReadByte();
            _htype  = byteReader.ReadByte();
            _hlen   = byteReader.ReadByte();
            _hops   = byteReader.ReadByte();
            _xid    = byteReader.ReadUInt32();
            _secs   = byteReader.ReadUInt16();
            _flags  = byteReader.ReadBytes(2);
            _ciaddr = byteReader.ReadBytes(4);
            _yiaddr = byteReader.ReadBytes(4);
            _siaddr = byteReader.ReadBytes(4);
            _giaddr = byteReader.ReadBytes(4);
            _chaddr = byteReader.ReadBytes(16);
            _sname  = byteReader.ReadBytes(64);
            _file   = byteReader.ReadBytes(128);

            byte[] rawOptions = byteReader.ReadBytes(byteReader.AvailableBytes);
            int    offset     = 0;

            // if magic number is valid then process options
            if (offset + 4 < rawOptions.Length &&
                (BitConverter.ToUInt32(rawOptions, offset) == DhcpConstants.DhcpOptionsMagicNumber ||
                 BitConverter.ToUInt32(rawOptions, offset) == DhcpConstants.DhcpWinOptionsMagicNumber))
            {
                offset += 4;
                bool end = false;

                while (!end && offset < rawOptions.Length)
                {
                    DhcpOption option = (DhcpOption)rawOptions[offset];
                    offset++;

                    int optionLen;

                    switch (option)
                    {
                    case DhcpOption.Pad:
                        continue;

                    case DhcpOption.End:
                        end = true;
                        continue;

                    default:
                        optionLen = rawOptions[offset];
                        offset++;
                        break;
                    }

                    byte[] optionData = new byte[optionLen];

                    Array.Copy(rawOptions, offset, optionData, 0, optionLen);
                    offset += optionLen;

                    _options.Add(option, optionData);
                    _optionDataSize += optionLen;
                }
            }
        }