16using System.Reflection;
17using System.Runtime.InteropServices;
18using System.Runtime.CompilerServices;
19using System.Collections.Generic;
20using System.Threading;
28 public partial class Sq3BlobC
33 private readonly
static ConstructorInfo ctor =
getCtor(typeof(Sq3BlobC));
34 private readonly
static ThreadLocal<Sq3BlobC> MK_NULL =
new ThreadLocal<Sq3BlobC>(() => {
42 private static Sq3BlobC Sq3BlobC_ObjCreate (IntPtr
hdl) {
46 private static IntPtr Sq3BlobC_SelfCreate (IntPtr
mkrt, IntPtr obj, IntPtr env) {
50 private static void Sq3BlobC_SelfUnlink (IntPtr
mkrt, IntPtr
self, IntPtr env) {
54 internal static void SetupThreadBLOB (IntPtr
mkrt) {
55 Sq3.Sq3CsTypeUpdate(
mkrt, Sq3CsTypeLookupE.BLOB, Sq3BlobC_SelfCreate, Sq3BlobC_SelfUnlink);
58 #if !META_STATIC_OVERWRITE
63 SetupThreadBLOB(IntPtr.Zero);
69 internal Sq3BlobC (IntPtr objP) : base(objP) {
76 public partial class Sq3BlobC {
86 IntPtr __retVal__L = Sq3.Sq3BlobHandleResolve(IntPtr.Zero, netHdl);
98 public partial class Sq3BlobC {
108 IntPtr __retVal__L = Sq3.Sq3BlobNext(
hdl);
114 IntPtr __retVal__L = Sq3.Sq3BlobPrev(
hdl);
122 IntPtr __retVal__L = Sq3.Sq3BlobInstances(IntPtr.Zero);
130 public partial class Sq3BlobC {
140 IntPtr __retVal__L = Sq3.Sq3BlobGetNull();
148 public partial class Sq3BlobC {
158 IntPtr Z_inout_hdl =
MkBufferC.getOBJ_null_allow(Z_inout);
159 MkErrorE errVal = Sq3.Sq3BlobRead(
mkrt,
hdl, ref Z_inout_hdl, iOffset);
168 Int32 __retVal__L = Sq3.Sq3BlobBytes(
hdl);
180 IntPtr z_hdl =
MkBufferC.getOBJ(
"MkBufferC",z);
198 protected static IntPtr
CTOR (
Sq3LiteC sq3lite,
string zDb,
string zTable,
string zColumn,
long iRow,
int flags) {
201 IntPtr zDb_cstr = Marshal.StringToHGlobalAnsi(zDb);
202 IntPtr zTable_cstr = Marshal.StringToHGlobalAnsi(zTable);
203 IntPtr zColumn_cstr = Marshal.StringToHGlobalAnsi(zColumn);
204 MkErrorE errVal = Sq3.Sq3BlobOpen(sq3lite_hdl, zDb_cstr, zTable_cstr, zColumn_cstr, iRow, flags, out ppBlob);
205 Marshal.FreeHGlobal(zDb_cstr);
206 Marshal.FreeHGlobal(zTable_cstr);
207 Marshal.FreeHGlobal(zColumn_cstr);
209 return (IntPtr)ppBlob;
213 public Sq3BlobC(
Sq3LiteC sq3lite,
string zDb,
string zTable,
string zColumn,
long iRow,
int flags) : this(
CTOR(sq3lite, zDb, zTable, zColumn, iRow, flags)) {}
216 public static Sq3BlobC Open (
Sq3LiteC sq3lite,
string zDb,
string zTable,
string zColumn,
long iRow,
int flags) {
219 IntPtr zDb_cstr = Marshal.StringToHGlobalAnsi(zDb);
220 IntPtr zTable_cstr = Marshal.StringToHGlobalAnsi(zTable);
221 IntPtr zColumn_cstr = Marshal.StringToHGlobalAnsi(zColumn);
222 MkErrorE errVal = Sq3.Sq3BlobOpen(sq3lite_hdl, zDb_cstr, zTable_cstr, zColumn_cstr, iRow, flags, out ppBlob);
223 Marshal.FreeHGlobal(zDb_cstr);
224 Marshal.FreeHGlobal(zTable_cstr);
225 Marshal.FreeHGlobal(zColumn_cstr);
227 return Sq3BlobC.Sq3BlobC_ObjCreate(ppBlob);
static MkBufferC MkBufferC_ObjNew(IntPtr hdl)
static void Check(IntPtr ctx, MkErrorE err)
static object atomObjNew(Type type, ConstructorInfo ctor, IntPtr obj)
static object atomObjCreate(Type type, ConstructorInfo ctor, IntPtr obj)
static void atomSelfUnlink(IntPtr self, IntPtr env)
static object atomSelfNull(ConstructorInfo ctor)
static IntPtr getOBJ(string cls, MkObjectC obj)
static ConstructorInfo getCtor(Type type)
static IntPtr atomSelfCreate(ConstructorInfo ctor, IntPtr obj, IntPtr env)
Sq3BlobC - the class known as sq3blob or Blob define by Sq3BlobS …
static Sq3BlobC Sq3BlobC_ObjNew(IntPtr hdl)
Sq3LiteC - the class known as sq3lite or Lite defined by Sq3LiteS …
new static Sq3BlobC HandleResolve(Int32 netHdl)
C#: [static] Sq3BlobC Sq3BlobC.HandleResolve(Int32 netHdl) → C-API Handle-Resolve-Slot - return ...
new Sq3BlobC Prev()
C#: Sq3BlobC blob.Prev() → C-API get previous instance from linked-list of Sq3BlobS type
new static Sq3BlobC GetNull()
C#: [static] Sq3BlobC Sq3BlobC.GetNull() → C-API Null-Slot - return a Sq3BlobC typed NULL instan...
new static Sq3BlobC Instances()
C#: [static] Sq3BlobC Sq3BlobC.Instances() → C-API get head-instance from linked-list of Sq3Blob...
new Sq3BlobC Next()
C#: Sq3BlobC blob.Next() → C-API get next instance from linked-list of Sq3BlobS type
void Write(MkBufferC z, int iOffset)
C#: sq3blob.Write(MkBufferC z, int iOffset) → C-API Write Data Into A BLOB Incrementally …
int Bytes()
C#: int sq3blob.Bytes() → C-API Return The Size Of An Open BLOB …
void Reopen(long arg1)
C#: sq3blob.Reopen(long arg1) → C-API Move a BLOB Handle to a New Row …
MkBufferC Read(MkBufferC Z_inout, int iOffset)
C#: MkBufferC sq3blob.Read(MkBufferC Z_inout, int iOffset) → C-API Read Data From A BLOB Incr...
Sq3BlobC(Sq3LiteC sq3lite, string zDb, string zTable, string zColumn, long iRow, int flags)
CONSTRUCTOR.
static IntPtr CTOR(Sq3LiteC sq3lite, string zDb, string zTable, string zColumn, long iRow, int flags)
C#: [constructor,static] Sq3BlobC Sq3BlobC.Open(Sq3LiteC sq3lite, string zDb, string zTable,...
static Sq3BlobC Open(Sq3LiteC sq3lite, string zDb, string zTable, string zColumn, long iRow, int flags)
C#: [constructor,static] Sq3BlobC Sq3BlobC.Open(Sq3LiteC sq3lite, string zDb, string zTable,...
static SQ3_LITE Sq3Lite(MK_MNG mng)
cast a unknown-object into an Sq3LiteS pointer or NULL if not possible