示例#1
0
                private static Eina.Error read(System.IntPtr obj, System.IntPtr pd, ref Eina.RwSlice rw_slice)
                {
                    Eina.Log.Debug("function efl_io_reader_read was called");
                    var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);

                    if (ws != null)
                    {
                        Eina.Error _ret_var = default(Eina.Error);
                        try
                        {
                            _ret_var = ((IReader)ws.Target).Read(ref rw_slice);
                        }
                        catch (Exception e)
                        {
                            Eina.Log.Warning($"Callback error: {e.ToString()}");
                            Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
                        }

                        return(_ret_var);
                    }
                    else
                    {
                        return(efl_io_reader_read_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), ref rw_slice));
                    }
                }
示例#2
0
            /// <summary>Reads data into a pre-allocated buffer.
            /// This operation will be executed immediately and may or may not block the caller thread for some time. The details of blocking behavior is to be defined by the implementation and may be subject to other parameters such as non-blocking flags, maximum timeout or even retry attempts.
            ///
            /// You can understand this method as read(2) libc function.
            /// (Since EFL 1.22)</summary>
            /// <param name="rw_slice">Provides a pre-allocated memory to be filled up to rw_slice.len. It will be populated and the length will be set to the actually used amount of bytes, which can be smaller than the request.</param>
            /// <returns>0 on succeed, a mapping of errno otherwise</returns>
            public Eina.Error Read(ref Eina.RwSlice rw_slice)
            {
                var _ret_var = Efl.Io.IReaderConcrete.NativeMethods.efl_io_reader_read_ptr.Value.Delegate(this.NativeHandle, ref rw_slice);

                Eina.Error.RaiseIfUnhandledException();
                return(_ret_var);
            }
示例#3
0
        override public bool EinaRwSliceOut(ref Eina.RwSlice slice)
        {
            rw_slice_out_flag = true;

            rw_slice_out_seq    = (byte[])BaseSequence.Values();
            rw_slice_out_pinned = GCHandle.Alloc(rw_slice_out_seq, GCHandleType.Pinned);
            IntPtr ptr = rw_slice_out_pinned.AddrOfPinnedObject();

            slice.Mem = ptr;
            slice.Len = (UIntPtr)rw_slice_out_seq.Length;

            return(true);
        }
            internal static void Cb(IntPtr cb_data, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Efl.Eo.MarshalEo <Efl.Eo.NonOwnTag>))] Efl.Canvas.Object obj, out Efl.Ui.SelectionFormat format, ref Eina.RwSlice drag_data, out Efl.Ui.SelectionAction action)
            {
                GCHandle    handle = GCHandle.FromIntPtr(cb_data);
                DragDataGet cb     = (DragDataGet)handle.Target;

                format = default(Efl.Ui.SelectionFormat);        drag_data = default(Eina.RwSlice);        action = default(Efl.Ui.SelectionAction);
                try {
                    cb(obj, out format, ref drag_data, out action);
                } catch (Exception e) {
                    Eina.Log.Warning($"Callback error: {e.ToString()}");
                    Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
                }
            }
 internal void ManagedCb(Efl.Canvas.Object obj, out Efl.Ui.SelectionFormat format, ref Eina.RwSlice drag_data, out Efl.Ui.SelectionAction action)
 {
     _cb(_cb_data, obj, out format, ref drag_data, out action);
     Eina.Error.RaiseIfUnhandledException();
 }
示例#6
0
 override public bool EinaRwSliceIn(Eina.RwSlice slice)
 {
     rw_slice_in_flag = true;
     return(slice.GetBytes().SequenceEqual(BaseSequence.Values()));
 }
示例#7
0
                internal static Efl.Ui.PositionManager.ObjectBatchResult.NativeStruct Cb(IntPtr cb_data, Efl.Ui.PositionManager.RequestRange.NativeStruct range, Eina.RwSlice memory)
                {
                    GCHandle            handle = GCHandle.FromIntPtr(cb_data);
                    ObjectBatchCallback cb     = (ObjectBatchCallback)handle.Target;

                    Efl.Ui.PositionManager.RequestRange      _in_range = range;
                    Efl.Ui.PositionManager.ObjectBatchResult _ret_var  = default(Efl.Ui.PositionManager.ObjectBatchResult);
                    try {
                        _ret_var = cb(_in_range, memory);
                    } catch (Exception e) {
                        Eina.Log.Warning($"Callback error: {e.ToString()}");
                        Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
                    }
                    return(_ret_var);
                }
示例#8
0
                internal Efl.Ui.PositionManager.ObjectBatchResult ManagedCb(Efl.Ui.PositionManager.RequestRange range, Eina.RwSlice memory)
                {
                    Efl.Ui.PositionManager.RequestRange.NativeStruct _in_range = range;
                    var _ret_var = _cb(_cb_data, _in_range, memory);

                    Eina.Error.RaiseIfUnhandledException();
                    return(_ret_var);
                }
示例#9
0
                internal static Efl.Ui.PositionManager.SizeBatchResult.NativeStruct Cb(IntPtr cb_data, Efl.Ui.PositionManager.SizeCallConfig.NativeStruct conf, Eina.RwSlice memory)
                {
                    GCHandle          handle = GCHandle.FromIntPtr(cb_data);
                    SizeBatchCallback cb     = (SizeBatchCallback)handle.Target;

                    Efl.Ui.PositionManager.SizeCallConfig  _in_conf = conf;
                    Efl.Ui.PositionManager.SizeBatchResult _ret_var = default(Efl.Ui.PositionManager.SizeBatchResult);
                    try {
                        _ret_var = cb(_in_conf, memory);
                    } catch (Exception e) {
                        Eina.Log.Warning($"Callback error: {e.ToString()}");
                        Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
                    }
                    return(_ret_var);
                }
示例#10
0
                internal Efl.Ui.PositionManager.SizeBatchResult ManagedCb(Efl.Ui.PositionManager.SizeCallConfig conf, Eina.RwSlice memory)
                {
                    Efl.Ui.PositionManager.SizeCallConfig.NativeStruct _in_conf = conf;
                    var _ret_var = _cb(_cb_data, _in_conf, memory);

                    Eina.Error.RaiseIfUnhandledException();
                    return(_ret_var);
                }