Example #1
0
        // Constructors

        internal Session(Domain domain, SessionConfiguration configuration, bool activate)
            : base(domain)
        {
            Guid = Guid.NewGuid();
            IsDebugEventLoggingEnabled = OrmLog.IsLogged(LogLevel.Debug); // Just to cache this value

            // Both Domain and Configuration are valid references here;
            // Configuration is already locked
            Configuration  = configuration;
            Name           = configuration.Name;
            identifier     = Interlocked.Increment(ref lastUsedIdentifier);
            CommandTimeout = configuration.DefaultCommandTimeout;
            allowSwitching = configuration.Supports(SessionOptions.AllowSwitching);

            // Handlers
            Handlers = domain.Handlers;
            Handler  = CreateSessionHandler();

            // Caches, registry
            EntityStateCache               = CreateSessionCache(configuration);
            EntityChangeRegistry           = new EntityChangeRegistry(this);
            EntitySetChangeRegistry        = new EntitySetChangeRegistry(this);
            ReferenceFieldsChangesRegistry = new ReferenceFieldsChangesRegistry(this);
            entitySetsWithInvalidState     = new HashSet <EntitySetBase>();

            // Events
            EntityEvents = new EntityEventBroker();
            Events       = new SessionEventAccessor(this, false);
            SystemEvents = new SessionEventAccessor(this, true);

            // Etc.
            PairSyncManager                 = new SyncManager(this);
            RemovalProcessor                = new RemovalProcessor(this);
            pinner                          = new Pinner(this);
            Operations                      = new OperationRegistry(this);
            NonPairedReferencesRegistry     = new NonPairedReferenceChangesRegistry(this);
            CommandProcessorContextProvider = new CommandProcessorContextProvider(this);

            // Validation context
            ValidationContext = Configuration.Supports(SessionOptions.ValidateEntities)
        ? (ValidationContext) new RealValidationContext()
        : new VoidValidationContext();

            // Creating Services
            Services = CreateServices();

            disposableSet = new DisposableSet();
            remapper      = new KeyRemapper(this);

            disableAutoSaveChanges = !configuration.Supports(SessionOptions.AutoSaveChanges);

            // Perform activation
            if (activate)
            {
                ActivateInternally();
            }

            // Query endpoint
            SystemQuery = Query = new QueryEndpoint(new QueryProvider(this));
        }
Example #2
0
 public static void RegisterOperations()
 {
     OperationRegistry.RegisterOperation(new Operation("Statistical Filters", "Median", "Median(X)", Median, true));
     OperationRegistry.RegisterOperation(new Operation("Statistical Filters", "Min", "Min(X)", Min, true));
     OperationRegistry.RegisterOperation(new Operation("Statistical Filters", "Max", "Max(X)", Max, true));
     OperationRegistry.RegisterOperation(new Operation("Statistical Filters", "Midpoint", "Midpoint(X)", Midpoint, true));
     OperationRegistry.RegisterOperation(new Operation("Statistical Filters", "Alpha-trimmed (2)", "AlphaTrim(X)", AlphaTrim, true));
 }
Example #3
0
 public static void RegisterOperations()
 {
     OperationRegistry.RegisterOperation(new Operation("Morphological Operations", "To Binary", "Bin(X)", Bin, true));
     OperationRegistry.RegisterOperation(new Operation("Morphological Operations", "Erode", "Erode(X)", Erode, true));
     OperationRegistry.RegisterOperation(new Operation("Morphological Operations", "Dilate", "Dilate(X)", Dilate, true));
     OperationRegistry.RegisterOperation(new Operation("Morphological Operations", "Open", "Open(X)", Open, true));
     OperationRegistry.RegisterOperation(new Operation("Morphological Operations", "Close", "Close(X)", Close, true));
 }
Example #4
0
 public static void RegisterOperations()
 {
     OperationRegistry.RegisterOperation(new Operation("Space Domain Filters", "Laplacian 4", "Laplacian4(X)", Laplacian4, true));
     OperationRegistry.RegisterOperation(new Operation("Space Domain Filters", "Mean", "Mean(X)", Mean, true));
     OperationRegistry.RegisterOperation(new Operation("Space Domain Filters", "SobelX", "SobelX(X)", SobelX, true));
     OperationRegistry.RegisterOperation(new Operation("Space Domain Filters", "SobelY", "SobelY(X)", SobelY, true));
     OperationRegistry.RegisterOperation(new Operation("Space Domain Filters", "Laplacian 8", "Laplacian8(X)", Laplacian8, true));
 }
Example #5
0
        /// <summary>
        /// Performs the calculation if all parameters are provided.
        /// </summary>
        /// <returns>The result of the operation.</returns>
        public override int Compute()
        {
            var strings = File.ReadAllText(filePath).Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

            if (strings == null || strings.Length < 1)
            {
                throw new ArgumentException();
            }
            return(OperationRegistry.CreateOperation((strings.Length > 2) ? strings[2] : string.Empty, int.Parse(strings[0].Trim()), int.Parse(strings[1].Trim())).Execute());
        }
Example #6
0
 public static void RegisterOperations()
 {
     OperationRegistry.RegisterOperation(new Operation("Frequency Domain Filters", "FFT", "FFT(X)", FFT, true));
     OperationRegistry.RegisterOperation(new Operation("Frequency Domain Filters", "Inverse FFT", "IFFT(X)", IFFT, true));
     OperationRegistry.RegisterOperation(new Operation("Frequency Domain Filters", "High Pass Filter", "HighPass(X,f)", HighPass, true));
     OperationRegistry.RegisterOperation(new Operation("Frequency Domain Filters", "Low Pass Filter", "LowPass(X,f)", LowPass, true));
     OperationRegistry.RegisterOperation(new Operation("Frequency Domain Filters", "Band Pass Filter", "BandPass(X,f1,f2)", BandPass, true));
     OperationRegistry.RegisterOperation(new Operation("Frequency Domain Filters", "Notch Filter", "Notch(X,f1,f2)", Notch, true));
     OperationRegistry.RegisterOperation(new Operation("Frequency Domain Filters", "Butterworth Low Pass (n=2) Filter", "ButterworthLow(X,f)", ButterworthLow, true));
     OperationRegistry.RegisterOperation(new Operation("Frequency Domain Filters", "Butterworth High Pass (n=2) Filter", "ButterworthHigh(X,f)", ButterworthHigh, true));
     OperationRegistry.RegisterOperation(new Operation("Frequency Domain Filters", "Butterworth Low Pass (n=4) Filter", "ButterworthLow4(X,f)", ButterworthLow4, true));
     OperationRegistry.RegisterOperation(new Operation("Frequency Domain Filters", "Butterworth High Pass (n=4) Filter", "ButterworthHigh4(X,f)", ButterworthHigh4, true));
 }
Example #7
0
        //-----------------------------------------------------------

        public static void init( )
        {
            last_label_no         = 0;
            last_temp_no_internal = 0;
            current_context       = null;
            current_program_unit  = null;
            current_routine_decl  = null;

            string suffix = "";
            string output = "";

            if (options.Output != null)
            {
                output = options.Output.Substring(0);
            }
            else if (options.OutputAssembly != null)
            {
                output = options.OutputAssembly.Substring(0);
            }

            int slash_index = output.LastIndexOf('/');

            if (slash_index == -1)
            {
                slash_index = output.LastIndexOf('\\');
            }
            int dot_index = output.LastIndexOf('.');

            if (dot_index == -1)
            {
                dot_index = output.Length;
            }
            if (slash_index == -1)
            {
                suffix = output.Substring(slash_index + 1, dot_index);
            }
            else
            {
                suffix = output.Substring(slash_index + 1, dot_index - slash_index + 1);
            }
            suffix.Replace("-", "_minus_");

            globalMath         = new MathGenerator(suffix);
            _kernelRegistry    = new KernelRegistry();
            _operationRegistry = new OperationRegistry();
            // current_namespace_decl = null;

            globalTree = null; //-- do not do: it's required afterwards for reporting
        }
Example #8
0
 public static void RegisterOperations()
 {
     OperationRegistry.RegisterOperation(new Operation("Color Routines", "Convert To HSI (View Only)", "HSI(X)", HSI, true));
     OperationRegistry.RegisterOperation(new Operation("Color Routines", "HSI Color Enhance", "HSI_Enhance(X)", Enhance, true));
 }
Example #9
0
 // The following describes and registers all operations contained in this module.
 public static void RegisterOperations()
 {
     OperationRegistry.RegisterOperation(new Operation("Transformations", "Scale", "Scale(X,p)", Scale, true));
     OperationRegistry.RegisterOperation(new Operation("Transformations", "Rotate", "Rotate(X,T)", Rotate, true));
     OperationRegistry.RegisterOperation(new Operation("Transformations", "Crop", "Crop(X,(x1,y1,x2,y2))", Crop, true));
 }
        // Constructors

        public BlockingOperationRegistrationScope(OperationRegistry owner)
        {
            this.owner = owner;
        }
 public void Setup()
 {
     _operationRegistry = new OperationRegistry();
 }