Example #1
0
 public SettingsBindSetMappingWrapper(GLib.SettingsBindSetMapping managed)
 {
     this.managed = managed;
     if (managed != null)
     {
         NativeDelegate = new SettingsBindSetMappingNative(NativeCallback);
     }
 }
		public SettingsBindSetMappingWrapper (GLib.SettingsBindSetMapping managed)
		{
			this.managed = managed;
			if (managed != null)
				NativeDelegate = new SettingsBindSetMappingNative (NativeCallback);
		}
Example #3
0
        public void BindWithMapping(string key, IntPtr objekt, string property, GLib.SettingsBindFlags flags, GLib.SettingsBindGetMapping get_mapping, GLib.SettingsBindSetMapping set_mapping)
        {
            IntPtr native_key      = GLib.Marshaller.StringToPtrGStrdup(key);
            IntPtr native_property = GLib.Marshaller.StringToPtrGStrdup(property);

            GLibSharp.SettingsBindGetMappingWrapper get_mapping_wrapper = new GLibSharp.SettingsBindGetMappingWrapper(get_mapping);
            GLibSharp.SettingsBindSetMappingWrapper set_mapping_wrapper = new GLibSharp.SettingsBindSetMappingWrapper(set_mapping);
            IntPtr user_data;

            GLib.DestroyNotify destroy;
            if (set_mapping == null)
            {
                user_data = IntPtr.Zero;
                destroy   = null;
            }
            else
            {
                user_data = (IntPtr)GCHandle.Alloc(set_mapping_wrapper);
                destroy   = GLib.DestroyHelper.NotifyHandler;
            }
            g_settings_bind_with_mapping(Handle, native_key, objekt, native_property, (int)flags, get_mapping_wrapper.NativeDelegate, set_mapping_wrapper.NativeDelegate, user_data, destroy);
            GLib.Marshaller.Free(native_key);
            GLib.Marshaller.Free(native_property);
        }