Example #1
0
		internal BingoObject(int id, Indigo indigo, BingoLib bingo_lib)
		{
			this._id = id;
			this._indigo = indigo;
			this._bingoLib = bingo_lib;
			this._dllLoader = IndigoDllLoader.Instance;
		}
Example #2
0
 private Bingo(Indigo indigo, int id, BingoLib lib)
 {
     _indigo = indigo;
     _lib = lib;
     _id = id;
     _dllLoader = IndigoDllLoader.Instance;
 }
Example #3
0
 public IndigoObject(Indigo dispatcher, int id, object parent)
 {
     this.dispatcher = dispatcher;
     this.self = id;
     this.parent = parent;
     _indigo_lib = dispatcher._indigo_lib;
     dll_loader = IndigoDllLoader.Instance;
 }
Example #4
0
 public IndigoObject(Indigo dispatcher, int id) : this(dispatcher, id, null)
 {
     dll_loader = IndigoDllLoader.Instance;
 }
Example #5
0
        private void init(string lib_path)
        {
            string libraryName;
            dll_loader = IndigoDllLoader.Instance;
            switch (Environment.OSVersion.Platform)
            {
                case PlatformID.Win32NT:
                    libraryName = "indigo.dll";
                    bool vs2010 = true;
                    bool vs2012 = true;
                    bool vs2013 = true;
                    try
                    {
                       dll_loader.loadLibrary(lib_path, "msvcr100.dll", "com.ggasoftware.indigo.Properties.ResourcesWin2010", false);
                    }
                    catch 
                    {
                        vs2010 = false;
                    }
                    try
                    {
                       dll_loader.loadLibrary(lib_path, "msvcr110.dll", "com.ggasoftware.indigo.Properties.ResourcesWin2012", false);
                    }
                    catch 
                    {
                        vs2012 = false;
                    }
                    try
                    {
                       dll_loader.loadLibrary(lib_path, "msvcr120.dll", "com.ggasoftware.indigo.Properties.ResourcesWin2013", false);
                    }
                    catch 
                    {
                        vs2013 = false;
                    }

                    if (vs2010) 
                    {
                       dll_loader.loadLibrary(lib_path, "msvcr100.dll", "com.ggasoftware.indigo.Properties.ResourcesWin2010", false);
                       dll_loader.loadLibrary(lib_path, "msvcp100.dll", "com.ggasoftware.indigo.Properties.ResourcesWin2010", false);
                       dll_loader.loadLibrary(lib_path, libraryName, "com.ggasoftware.indigo.Properties.ResourcesWin2010", false);
                    }
                    else if (vs2012)                    
                    {
                       dll_loader.loadLibrary(lib_path, "msvcr110.dll", "com.ggasoftware.indigo.Properties.ResourcesWin2012", false);
                       dll_loader.loadLibrary(lib_path, "msvcp110.dll", "com.ggasoftware.indigo.Properties.ResourcesWin2012", false);
                       dll_loader.loadLibrary(lib_path, libraryName, "com.ggasoftware.indigo.Properties.ResourcesWin2012", false);
                    }
                    else if (vs2013)
                    {
                       dll_loader.loadLibrary(lib_path, "msvcr120.dll", "com.ggasoftware.indigo.Properties.ResourcesWin2013", false);
                       dll_loader.loadLibrary(lib_path, "msvcp120.dll", "com.ggasoftware.indigo.Properties.ResourcesWin2013", false);
                       dll_loader.loadLibrary(lib_path, libraryName, "com.ggasoftware.indigo.Properties.ResourcesWin2013", false);   
                    }
                    
                    break;
                case PlatformID.Unix:
                    if (IndigoDllLoader.isMac())
                    {
                        libraryName = "libindigo.dylib";
                        dll_loader.loadLibrary(lib_path, libraryName, "com.ggasoftware.indigo.Properties.ResourcesMac", false);
                    }
                    else
                    {
                        libraryName = "libindigo.so";
                        dll_loader.loadLibrary(lib_path, libraryName, "com.ggasoftware.indigo.Properties.ResourcesLinux", false);
                    }
                    break;
                default:
                    throw new PlatformNotSupportedException(String.Format("Unsupported platform: {0}", Environment.OSVersion.Platform));
            }

            // Save instance id to check if session was allocated for this instance
            _dll_loader_id = IndigoDllLoader.InstanceId;

            _dllpath = lib_path;

            _indigo_lib = dll_loader.getInterface<IndigoLib>(libraryName);

            _sid = _indigo_lib.indigoAllocSessionId();
            _indigo_lib.indigoSetSessionId(_sid);
        }