Exemple #1
0
        private static void NewInstance(ExternalPtr ptr, AtomList args)
        {
            External instance;

            Class cl = Internal.pass.klass; // set by native side

            Internal.extptr = ptr;

//            Post("CLASS-NEW {0}",cl);
            try
            {
                // TODO: create dynamic delegate for that....
                System.Reflection.ConstructorInfo m = cl.extclass.GetConstructor(new Type[1] {
                    typeof(Atom[])
                });
                if (m != null)
                {
                    instance = (External)m.Invoke(new object[1] {
                        (Atom[])args
                    });
                }
                else
                {
                    // search for the argument-less constructor... it must exist, we searched before
                    m        = cl.extclass.GetConstructor(System.Type.EmptyTypes);
                    instance = (External)m.Invoke(null);
                }
            }
            catch (Exception exc)
            {
                instance = null;
                PostError(exc.ToString());
            }

#if DEBUG
            Internal.extptr.Clear();
#endif

            Internal.pass.ext = instance; // back to native
        }
Exemple #2
0
 internal extern static void Unbind(ExternalPtr obj, Symbol dst);
Exemple #3
0
 internal extern static void AddInlet(ExternalPtr obj, Symbol type); // create proxy inlet (typed)
Exemple #4
0
 internal extern static void AddInlet(ExternalPtr obj, ref Symbol s);
Exemple #5
0
 internal extern static void AddInlet(ExternalPtr obj, Symbol sel, Symbol to_sel);
Exemple #6
0
 internal extern static void Outlet(ExternalPtr obj, int n, Atom a);
Exemple #7
0
 internal extern static void OutletEx(ExternalPtr obj, int n, object o);
Exemple #8
0
 internal extern static void AddInlet(ExternalPtr obj,ref Pointer f);
Exemple #9
0
 internal extern static void AddInlet(ExternalPtr obj, Symbol type); // create proxy inlet (typed)
Exemple #10
0
 internal extern static void AddInlet(ExternalPtr obj, ref float f); 
Exemple #11
0
 internal extern static void AddInlet(ExternalPtr obj, ref Symbol s);
Exemple #12
0
 internal extern static void AddInlet(ExternalPtr obj, Symbol sel, Symbol to_sel);
Exemple #13
0
        // --------------------------------------------------------------------------

        protected External()
        {
            ptr = Internal.extptr;
            klass = Internal.pass.klass;
        }
Exemple #14
0
        private static void NewInstance(ExternalPtr ptr,AtomList args)
        {
            External instance;
            
            Class cl = Internal.pass.klass; // set by native side
            Internal.extptr = ptr;

//            Post("CLASS-NEW {0}",cl);
            try 
            {
                // TODO: create dynamic delegate for that....
                System.Reflection.ConstructorInfo m = cl.extclass.GetConstructor(new Type[1] { typeof(Atom[]) });
                if (m != null)
                    instance = (External)m.Invoke(new object[1] { (Atom[])args });
                else
                {
                    // search for the argument-less constructor... it must exist, we searched before
                    m = cl.extclass.GetConstructor(System.Type.EmptyTypes);
                    instance = (External)m.Invoke(null);
                }
            }
            catch (Exception exc) 
            {
                instance = null;
                PostError(exc.ToString()); 
            }

#if DEBUG
            Internal.extptr.Clear();
#endif

            Internal.pass.ext = instance; // back to native
         }
Exemple #15
0
 internal extern static void Outlet(ExternalPtr obj, int n, float f);
Exemple #16
0
 internal extern static void AddInlet(ExternalPtr obj); // create proxy inlet (anything)
Exemple #17
0
 internal extern static void Outlet(ExternalPtr obj, int n, Pointer p);
Exemple #18
0
 internal extern static void AddOutlet(ExternalPtr obj, Symbol type);
Exemple #19
0
 internal extern static void Outlet(ExternalPtr obj, int n, Symbol s, Atom[] l);
Exemple #20
0
 internal extern static void Outlet(ExternalPtr obj, int n, float f);
Exemple #21
0
 internal extern static void Unbind(ExternalPtr obj, Symbol dst);
Exemple #22
0
 internal extern static void Outlet(ExternalPtr obj, int n, Symbol s);
Exemple #23
0
        // --------------------------------------------------------------------------

        protected External()
        {
            ptr   = Internal.extptr;
            klass = Internal.pass.klass;
        }
Exemple #24
0
 internal extern static void Outlet(ExternalPtr obj, int n, Pointer p);
Exemple #25
0
 internal extern static void AddInlet(ExternalPtr obj, ref float f);
Exemple #26
0
 internal extern static void Outlet(ExternalPtr obj, int n, Atom a);
Exemple #27
0
 internal extern static void AddInlet(ExternalPtr obj, ref Pointer f);
Exemple #28
0
 internal extern static void AddOutlet(ExternalPtr obj, Symbol type);
Exemple #29
0
 internal extern static void AddInlet(ExternalPtr obj); // create proxy inlet (anything)
Exemple #30
0
 internal extern static void OutletEx(ExternalPtr obj, int n, object o);