9520fe2efd
Files correlati : cg, ve, ba, fp Commento : Prima release del modulo fp BA: - Aggiunto campo "Modalità di Pagamento" alla tabella "Ulteriore classificazione" - Aggiunto campo "Tipo di pagamento SDI" al programma di gestione dei tipi pagamento CG: Modifiche programma clienti/fornitori: - Rinominato gruppo da "Numeri telefonici" a "Contatti" - Spostati e modificati campi delle email per aggiungere la PEC Modifiche cgpagame: - Aggiunto _cond_pag e gestione del campo VE: Modifiche ai tipidoc - Aggiunto tipo documenti SDI - Aggiunto il regime fiscale FP: - prima implementazione del modulo Interne: - In applicat rimosso blocco in caso di programma non abilitato per rangers - Aggiunto in modaut il nuovo programma fp - Resa cid2index static con metodo in xvtility - Perfezionata libreria tsdb + xvtdb grazie ai test fatti da me medesimo per l'fp
281 lines
13 KiB
C++
281 lines
13 KiB
C++
//////////////////////////////////////////////////////////////////////
|
|
// slAPI.h
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(__SLAPI_H__)
|
|
#define __SLAPI_H__
|
|
|
|
#include <SQLAPI.h>
|
|
#include <sqlite3.h>
|
|
|
|
extern void AddSQLite3Support(const SAConnection * pCon);
|
|
extern void ReleaseSQLite3Support();
|
|
|
|
typedef int (*sqlite3_open_t)(const void *filename, sqlite3 **ppDb);
|
|
typedef const char * (*sqlite3_libversion_t)(void);
|
|
typedef int (*sqlite3_libversion_number_t)(void);
|
|
typedef int (*sqlite3_threadsafe_t)(void);
|
|
typedef int (*sqlite3_close_t)(sqlite3 *);
|
|
typedef int (*sqlite3_extended_result_codes_t)(sqlite3*, int onoff);
|
|
typedef sqlite3_int64 (*sqlite3_last_insert_rowid_t)(sqlite3*);
|
|
typedef int (*sqlite3_changes_t)(sqlite3*);
|
|
typedef int (*sqlite3_total_changes_t)(sqlite3*);
|
|
typedef void (*sqlite3_interrupt_t)(sqlite3*);
|
|
typedef int (*sqlite3_complete_t)(const char *sql);
|
|
typedef int (*sqlite3_complete16_t)(const void *sql);
|
|
typedef int (*sqlite3_busy_handler_t)(sqlite3*, int(*)(void*,int), void*);
|
|
typedef int (*sqlite3_busy_timeout_t)(sqlite3*, int ms);
|
|
typedef void (*sqlite3_free_table_t)(char **result);
|
|
typedef char *(*sqlite3_mprintf_t)(const char*,...);
|
|
typedef char *(*sqlite3_vmprintf_t)(const char*, va_list);
|
|
typedef char *(*sqlite3_snprintf_t)(int,char*,const char*, ...);
|
|
typedef void *(*sqlite3_malloc_t)(int);
|
|
typedef void *(*sqlite3_realloc_t)(void*, int);
|
|
typedef void (*sqlite3_free_t)(void*);
|
|
typedef sqlite3_int64 (*sqlite3_memory_used_t)(void);
|
|
typedef sqlite3_int64 (*sqlite3_memory_highwater_t)(int resetFlag);
|
|
typedef void *(*sqlite3_trace_t)(sqlite3*, void(*xTrace)(void*,const char*), void*);
|
|
typedef void (*sqlite3_progress_handler_t)(sqlite3*, int, int(*)(void*), void*);
|
|
typedef int (*sqlite3_errcode_t)(sqlite3 *db);
|
|
typedef const void *(*sqlite3_errmsg_t)(sqlite3*);
|
|
typedef int (*sqlite3_bind_blob_t)(sqlite3_stmt*, int, const void*, int n, void(*)(void*));
|
|
typedef int (*sqlite3_bind_double_t)(sqlite3_stmt*, int, double);
|
|
typedef int (*sqlite3_bind_int_t)(sqlite3_stmt*, int, int);
|
|
typedef int (*sqlite3_bind_int64_t)(sqlite3_stmt*, int, sqlite3_int64);
|
|
typedef int (*sqlite3_bind_null_t)(sqlite3_stmt*, int);
|
|
typedef int (*sqlite3_bind_text_t)(sqlite3_stmt*, int, const void*, int n, void(*)(void*));
|
|
typedef int (*sqlite3_bind_value_t)(sqlite3_stmt*, int, const sqlite3_value*);
|
|
typedef int (*sqlite3_bind_zeroblob_t)(sqlite3_stmt*, int, int n);
|
|
typedef int (*sqlite3_bind_parameter_count_t)(sqlite3_stmt*);
|
|
typedef const char *(*sqlite3_bind_parameter_name_t)(sqlite3_stmt*, int);
|
|
typedef int (*sqlite3_bind_parameter_index_t)(sqlite3_stmt*, const char *zName);
|
|
typedef int (*sqlite3_clear_bindings_t)(sqlite3_stmt*);
|
|
typedef int (*sqlite3_column_count_t)(sqlite3_stmt *pStmt);
|
|
typedef const void *(*sqlite3_column_name_t)(sqlite3_stmt*, int N);
|
|
typedef const char *(*sqlite3_column_database_name_t)(sqlite3_stmt*,int);
|
|
typedef const void *(*sqlite3_column_database_name16_t)(sqlite3_stmt*,int);
|
|
typedef const char *(*sqlite3_column_table_name_t)(sqlite3_stmt*,int);
|
|
typedef const void *(*sqlite3_column_table_name16_t)(sqlite3_stmt*,int);
|
|
typedef const char *(*sqlite3_column_origin_name_t)(sqlite3_stmt*,int);
|
|
typedef const void *(*sqlite3_column_origin_name16_t)(sqlite3_stmt*,int);
|
|
typedef const void *(*sqlite3_column_decltype_t)(sqlite3_stmt *, int);
|
|
typedef int (*sqlite3_step_t)(sqlite3_stmt*);
|
|
typedef int (*sqlite3_data_count_t)(sqlite3_stmt *pStmt);
|
|
typedef const void *(*sqlite3_column_blob_t)(sqlite3_stmt*, int iCol);
|
|
typedef int (*sqlite3_column_bytes_t)(sqlite3_stmt*, int iCol);
|
|
typedef double (*sqlite3_column_double_t)(sqlite3_stmt*, int iCol);
|
|
typedef int (*sqlite3_column_int_t)(sqlite3_stmt*, int iCol);
|
|
typedef sqlite3_int64 (*sqlite3_column_int64_t)(sqlite3_stmt*, int iCol);
|
|
typedef const void *(*sqlite3_column_text_t)(sqlite3_stmt*, int iCol);
|
|
typedef int (*sqlite3_column_type_t)(sqlite3_stmt*, int iCol);
|
|
typedef sqlite3_value *(*sqlite3_column_value_t)(sqlite3_stmt*, int iCol);
|
|
typedef int (*sqlite3_finalize_t)(sqlite3_stmt *pStmt);
|
|
typedef int (*sqlite3_reset_t)(sqlite3_stmt *pStmt);
|
|
typedef int (*sqlite3_aggregate_count_t)(sqlite3_context*);
|
|
typedef int (*sqlite3_expired_t)(sqlite3_stmt*);
|
|
typedef int (*sqlite3_transfer_bindings_t)(sqlite3_stmt*, sqlite3_stmt*);
|
|
typedef int (*sqlite3_global_recover_t)(void);
|
|
typedef void (*sqlite3_thread_cleanup_t)(void);
|
|
typedef const void *(*sqlite3_value_blob_t)(sqlite3_value*);
|
|
typedef int (*sqlite3_value_bytes_t)(sqlite3_value*);
|
|
typedef int (*sqlite3_value_bytes16_t)(sqlite3_value*);
|
|
typedef double (*sqlite3_value_double_t)(sqlite3_value*);
|
|
typedef int (*sqlite3_value_int_t)(sqlite3_value*);
|
|
typedef sqlite3_int64 (*sqlite3_value_int64_t)(sqlite3_value*);
|
|
typedef const unsigned char *(*sqlite3_value_text_t)(sqlite3_value*);
|
|
typedef const void *(*sqlite3_value_text16_t)(sqlite3_value*);
|
|
typedef const void *(*sqlite3_value_text16le_t)(sqlite3_value*);
|
|
typedef const void *(*sqlite3_value_text16be_t)(sqlite3_value*);
|
|
typedef int (*sqlite3_value_type_t)(sqlite3_value*);
|
|
typedef int (*sqlite3_value_numeric_type_t)(sqlite3_value*);
|
|
typedef void *(*sqlite3_aggregate_context_t)(sqlite3_context*, int nBytes);
|
|
typedef void *(*sqlite3_user_data_t)(sqlite3_context*);
|
|
typedef void *(*sqlite3_get_auxdata_t)(sqlite3_context*, int);
|
|
typedef void (*sqlite3_set_auxdata_t)(sqlite3_context*, int, void*, void (*)(void*));
|
|
typedef void (*sqlite3_result_blob_t)(sqlite3_context*, const void*, int, void(*)(void*));
|
|
typedef void (*sqlite3_result_double_t)(sqlite3_context*, double);
|
|
typedef void (*sqlite3_result_error_t)(sqlite3_context*, const char*, int);
|
|
typedef void (*sqlite3_result_error16_t)(sqlite3_context*, const void*, int);
|
|
typedef void (*sqlite3_result_error_toobig_t)(sqlite3_context*);
|
|
typedef void (*sqlite3_result_error_nomem_t)(sqlite3_context*);
|
|
typedef void (*sqlite3_result_int_t)(sqlite3_context*, int);
|
|
typedef void (*sqlite3_result_int64_t)(sqlite3_context*, sqlite3_int64);
|
|
typedef void (*sqlite3_result_null_t)(sqlite3_context*);
|
|
typedef void (*sqlite3_result_text_t)(sqlite3_context*, const char*, int, void(*)(void*));
|
|
typedef void (*sqlite3_result_text16_t)(sqlite3_context*, const void*, int, void(*)(void*));
|
|
typedef void (*sqlite3_result_text16le_t)(sqlite3_context*, const void*, int,void(*)(void*));
|
|
typedef void (*sqlite3_result_text16be_t)(sqlite3_context*, const void*, int,void(*)(void*));
|
|
typedef void (*sqlite3_result_value_t)(sqlite3_context*, sqlite3_value*);
|
|
typedef void (*sqlite3_result_zeroblob_t)(sqlite3_context*, int n);
|
|
typedef int (*sqlite3_sleep_t)(int);
|
|
typedef int (*sqlite3_get_autocommit_t)(sqlite3*);
|
|
typedef sqlite3 *(*sqlite3_db_handle_t)(sqlite3_stmt*);
|
|
typedef void *(*sqlite3_commit_hook_t)(sqlite3*, int(*)(void*), void*);
|
|
typedef void *(*sqlite3_rollback_hook_t)(sqlite3*, void(*)(void *), void*);
|
|
typedef int (*sqlite3_enable_shared_cache_t)(int);
|
|
typedef int (*sqlite3_release_memory_t)(int);
|
|
typedef void (*sqlite3_soft_heap_limit_t)(int);
|
|
typedef int(*sqlite3_load_extension_t)(
|
|
sqlite3 *db, /* Load the extension into this database connection */
|
|
const char *zFile, /* Name of the shared library containing extension */
|
|
const char *zProc, /* Entry point. Derived from zFile if 0 */
|
|
char **pzErrMsg /* Put error message here if not 0 */
|
|
);
|
|
typedef int (*sqlite3_enable_load_extension_t)(sqlite3 *db, int onoff);
|
|
typedef int (*sqlite3_auto_extension_t)(void *xEntryPoint);
|
|
typedef void (*sqlite3_reset_auto_extension_t)(void);
|
|
typedef int (*sqlite3_declare_vtab_t)(sqlite3*, const char *zCreateTable);
|
|
typedef int (*sqlite3_overload_function_t)(sqlite3*, const char *zFuncName, int nArg);
|
|
typedef int (*sqlite3_blob_close_t)(sqlite3_blob *);
|
|
typedef int (*sqlite3_blob_bytes_t)(sqlite3_blob *);
|
|
typedef int (*sqlite3_blob_read_t)(sqlite3_blob *, void *z, int n, int iOffset);
|
|
typedef int (*sqlite3_blob_write_t)(sqlite3_blob *, const void *z, int n, int iOffset);
|
|
typedef sqlite3_vfs *(*sqlite3_vfs_find_t)(const char *zVfsName);
|
|
typedef int (*sqlite3_vfs_register_t)(sqlite3_vfs*, int makeDflt);
|
|
typedef int (*sqlite3_vfs_unregister_t)(sqlite3_vfs*);
|
|
typedef sqlite3_mutex *(*sqlite3_mutex_alloc_t)(int);
|
|
typedef void (*sqlite3_mutex_free_t)(sqlite3_mutex*);
|
|
typedef void (*sqlite3_mutex_enter_t)(sqlite3_mutex*);
|
|
typedef int (*sqlite3_mutex_try_t)(sqlite3_mutex*);
|
|
typedef void (*sqlite3_mutex_leave_t)(sqlite3_mutex*);
|
|
typedef int (*sqlite3_mutex_held_t)(sqlite3_mutex*);
|
|
typedef int (*sqlite3_mutex_notheld_t)(sqlite3_mutex*);
|
|
typedef int (*sqlite3_file_control_t)(sqlite3*, const char *zDbName, int op, void*);
|
|
typedef int (*sqlite3_exec_t)(
|
|
sqlite3*, /* An open database */
|
|
const char *sql, /* SQL to be evaluted */
|
|
int (*callback)(void*,int,char**,char**), /* Callback function */
|
|
void *, /* 1st argument to callback */
|
|
char **errmsg /* Error msg written here */
|
|
);
|
|
typedef int (*sqlite3_prepare_t)(
|
|
sqlite3 *db, /* Database handle */
|
|
const void *zSql, /* SQL statement, UTF-16 encoded */
|
|
int nByte, /* Maximum length of zSql in bytes. */
|
|
sqlite3_stmt **ppStmt, /* OUT: Statement handle */
|
|
const void **pzTail /* OUT: Pointer to unused portion of zSql */
|
|
);
|
|
typedef int (*sqlite3_open_v2_t)(const char *filename, sqlite3 **ppDb, int flags, const char *zVfs);
|
|
|
|
typedef sqlite3_backup *(*sqlite3_backup_init_t)(
|
|
sqlite3 *pDest, /* Destination database handle */
|
|
const char *zDestName, /* Destination database name */
|
|
sqlite3 *pSource, /* Source database handle */
|
|
const char *zSourceName /* Source database name */
|
|
);
|
|
typedef int (*sqlite3_backup_step_t)(sqlite3_backup *p, int nPage);
|
|
typedef int (*sqlite3_backup_finish_t)(sqlite3_backup *p);
|
|
typedef int (*sqlite3_backup_remaining_t)(sqlite3_backup *p);
|
|
typedef int (*sqlite3_backup_pagecount_t)(sqlite3_backup *p);
|
|
|
|
|
|
typedef int (*sqlite3_table_column_metadata_t)(
|
|
sqlite3 *db, /* Connection handle */
|
|
const char *zDbName, /* Database name or NULL */
|
|
const char *zTableName, /* Table name */
|
|
const char *zColumnName, /* Column name */
|
|
char const **pzDataType, /* OUTPUT: Declared data type */
|
|
char const **pzCollSeq, /* OUTPUT: Collation sequence name */
|
|
int *pNotNull, /* OUTPUT: True if NOT NULL constraint exists */
|
|
int *pPrimaryKey, /* OUTPUT: True if column part of PK */
|
|
int *pAutoinc /* OUTPUT: True if column is auto-increment */
|
|
);
|
|
|
|
typedef void *(*sqlite3_update_hook_t)(
|
|
sqlite3*,
|
|
void(*)(void *,int ,char const *,char const *,sqlite3_int64),
|
|
void*
|
|
);
|
|
|
|
typedef int(*sqlite3_key_t)(sqlite3 *db, const void *pKey, int nKey);
|
|
typedef int(*sqlite3_rekey_t)(sqlite3 *db, const void *pKey, int nKey);
|
|
|
|
// API declarations
|
|
class SQLAPI_API sl3API : public saAPI
|
|
{
|
|
public:
|
|
sl3API();
|
|
|
|
sqlite3_open_t sqlite3_open;
|
|
sqlite3_libversion_t sqlite3_libversion;
|
|
sqlite3_libversion_number_t sqlite3_libversion_number;
|
|
sqlite3_errcode_t sqlite3_errcode;
|
|
sqlite3_errmsg_t sqlite3_errmsg;
|
|
sqlite3_close_t sqlite3_close;
|
|
sqlite3_exec_t sqlite3_exec;
|
|
sqlite3_prepare_t sqlite3_prepare;
|
|
sqlite3_bind_parameter_index_t sqlite3_bind_parameter_index;
|
|
sqlite3_column_count_t sqlite3_column_count;
|
|
sqlite3_column_name_t sqlite3_column_name;
|
|
sqlite3_column_type_t sqlite3_column_type;
|
|
sqlite3_column_bytes_t sqlite3_column_bytes;
|
|
sqlite3_step_t sqlite3_step;
|
|
sqlite3_db_handle_t sqlite3_db_handle;
|
|
sqlite3_reset_t sqlite3_reset;
|
|
sqlite3_clear_bindings_t sqlite3_clear_bindings;
|
|
sqlite3_finalize_t sqlite3_finalize;
|
|
sqlite3_interrupt_t sqlite3_interrupt;
|
|
sqlite3_changes_t sqlite3_changes;
|
|
sqlite3_column_int64_t sqlite3_column_int64;
|
|
sqlite3_column_double_t sqlite3_column_double;
|
|
sqlite3_column_blob_t sqlite3_column_blob;
|
|
sqlite3_column_text_t sqlite3_column_text;
|
|
sqlite3_bind_blob_t sqlite3_bind_blob;
|
|
sqlite3_bind_double_t sqlite3_bind_double;
|
|
sqlite3_bind_int_t sqlite3_bind_int;
|
|
sqlite3_bind_int64_t sqlite3_bind_int64;
|
|
sqlite3_bind_null_t sqlite3_bind_null;
|
|
sqlite3_bind_text_t sqlite3_bind_text;
|
|
|
|
sqlite3_busy_handler_t sqlite3_busy_handler;
|
|
sqlite3_busy_timeout_t sqlite3_busy_timeout;
|
|
sqlite3_threadsafe_t sqlite3_threadsafe;
|
|
sqlite3_last_insert_rowid_t sqlite3_last_insert_rowid;
|
|
|
|
sqlite3_column_decltype_t sqlite3_column_decltype;
|
|
|
|
sqlite3_open_v2_t sqlite3_open_v2;
|
|
|
|
sqlite3_backup_init_t sqlite3_backup_init;
|
|
sqlite3_backup_step_t sqlite3_backup_step;
|
|
sqlite3_backup_finish_t sqlite3_backup_finish;
|
|
sqlite3_backup_remaining_t sqlite3_backup_remaining;
|
|
sqlite3_backup_pagecount_t sqlite3_backup_pagecount;
|
|
|
|
sqlite3_table_column_metadata_t sqlite3_table_column_metadata;
|
|
|
|
sqlite3_column_value_t sqlite3_column_value;
|
|
sqlite3_value_type_t sqlite3_value_type;
|
|
|
|
sqlite3_update_hook_t sqlite3_update_hook;
|
|
|
|
sqlite3_load_extension_t sqlite3_load_extension;
|
|
sqlite3_enable_load_extension_t sqlite3_enable_load_extension;
|
|
|
|
sqlite3_key_t sqlite3_key;
|
|
sqlite3_rekey_t sqlite3_rekey;
|
|
|
|
sqlite3_free_t sqlite3_free;
|
|
|
|
sqlite3_memory_used_t sqlite3_memory_used;
|
|
sqlite3_memory_highwater_t sqlite3_memory_highwater;
|
|
};
|
|
|
|
class SQLAPI_API sl3ConnectionHandles : public saConnectionHandles
|
|
{
|
|
public:
|
|
sl3ConnectionHandles();
|
|
sqlite3 *pDb;
|
|
};
|
|
|
|
class SQLAPI_API sl3CommandHandles : public saCommandHandles
|
|
{
|
|
public:
|
|
sl3CommandHandles();
|
|
sqlite3_stmt *pStmt;
|
|
};
|
|
|
|
extern sl3API g_sl3API;
|
|
|
|
#endif //__SLAPI_H__
|