Example #1
0
 static private MqErrorE FactoryCreate(IntPtr tmpl, MqFactoryE create, IntPtr data, ref IntPtr contextP)
 {
     try {
         contextP = ((IFactory)GCHandle.FromIntPtr(data).Target).Call().context;
     } catch (Exception ex) {
         return(MqErrorSet2(tmpl, ex));
     }
     MqConfigDup(contextP, tmpl);
     return(MqErrorE.MQ_OK);
 }
Example #2
0
        /*****************************************************************************/
        /*                                                                           */
        /*                               private                                     */
        /*                                                                           */
        /*****************************************************************************/

        //struct MqFactoryItemS* const item,
        static private MqErrorE FactoryCreate(IntPtr tmpl, MqFactoryE create, IntPtr item, ref IntPtr contextP)
        {
            try {
                Object[] args = new Object[1];
                args[0] = tmpl != IntPtr.Zero ? MqS.GetSelf(tmpl) : null;
                IntPtr data = MqFactoryItemGetCreateData(item);
                contextP = ((MqS)((ConstructorInfo)GCHandle.FromIntPtr(data).Target).Invoke(args)).context;
            } catch (Exception ex) {
                if (create == MqFactoryE.MQ_FACTORY_NEW_INIT)
                {
                    return(MqErrorE.MQ_ERROR);
                }
                else
                {
                    return(MqS.MqErrorSet2(tmpl, ex));
                }
            }
            if (create != MqFactoryE.MQ_FACTORY_NEW_INIT)
            {
                MqSetupDup(contextP, tmpl);
            }
            return(MqErrorE.MQ_OK);
        }
Example #3
0
 private static MqErrorE FactoryCreate(IntPtr tmpl, MqFactoryE create, IntPtr data, ref IntPtr contextP)
 {
     try {
     contextP = ((IFactory)GCHandle.FromIntPtr(data).Target).Factory().context;
       } catch (Exception ex) {
     return MqErrorSet2 (tmpl, ex);
       }
       MqConfigDup (contextP, tmpl);
       MqSetupDup (contextP, tmpl);
       return MqErrorE.MQ_OK;
 }