コード例 #1
0
ファイル: API.cs プロジェクト: openziti/ziti-sdk-csharp
            internal static void ziti_enroll_cb_impl(IntPtr ziti_config, int status, string msg, GCHandle enroll_context)
            {
                if (enroll_context.IsAllocated)
                {
                    Enrollment.AfterEnrollWrapper w = (Enrollment.AfterEnrollWrapper)enroll_context.Target;
                    w.wrapper.Dispose();

                    ZitiEnrollment.EnrollmentResult r = new ZitiEnrollment.EnrollmentResult(ziti_config)
                    {
                        Status  = (ZitiStatus)status,
                        Message = msg,
                        Context = w.Context,
                    };

                    if (r.Status.Ok())
                    {
                        ZitiIdentityFormatNative fromZiti = Marshal.PtrToStructure <ZitiIdentityFormatNative>(ziti_config);
                        r.ZitiIdentity = new ZitiIdentityFormat(fromZiti);
                    }

                    w.AfterEnroll(r);
                }
                else
                {
                    Console.WriteLine("unexpected situation");
                }
            }
コード例 #2
0
ファイル: API.cs プロジェクト: openziti/ziti-sdk-csharp
        public static void Enroll(string identityFile, Enrollment.AfterEnroll afterEnroll, object ctx)
        {
            var loop = API.DefaultLoop;

            Native.API.ziti_log_init(loop.nativeUvLoop, 11, Marshal.GetFunctionPointerForDelegate(NativeLogger));


            Native.ziti_enroll_options opts = new Native.ziti_enroll_options()
            {
                jwt = identityFile,
            };

            Enrollment.AfterEnrollWrapper w = new Enrollment.AfterEnrollWrapper()
            {
                AfterEnroll = afterEnroll,
                wrapper     = new StructWrapper(opts),
                Context     = ctx,
            };

            Native.API.ziti_enroll(w.wrapper.Ptr, loop.nativeUvLoop, enroll_cb, GCHandle.Alloc(w));
        }