63d98e39cd
Files correlati : Commento : - Creazione nuova cartella per contenere tutte le librerie esterne - Aggiunta nuova libreria sqlapi per interfacciare campo a vari DB git-svn-id: svn://10.65.10.50/branches/R_10_00@24149 c028cbd2-c16b-5b4b-a496-9718f37d4682
123 lines
6.1 KiB
C++
123 lines
6.1 KiB
C++
//////////////////////////////////////////////////////////////////////
|
|
// asaAPI.h
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(__ASAAPI_H__)
|
|
#define __ASAAPI_H__
|
|
|
|
#include <SQLAPI.h>
|
|
#include <sqlca.h>
|
|
#include <sacapi.h>
|
|
|
|
extern void AddSQLAnywhereSupport(const SAConnection * pCon);
|
|
extern void ReleaseSQLAnywhereSupport();
|
|
|
|
typedef sacapi_bool (*sqlany_init_t)( const char * app_name, sacapi_u32 api_version, sacapi_u32 * max_version );
|
|
typedef void (*sqlany_fini_t)();
|
|
typedef a_sqlany_connection * (*sqlany_new_connection_t)( );
|
|
typedef void (*sqlany_free_connection_t)( a_sqlany_connection *sqlany_conn );
|
|
typedef a_sqlany_connection * (*sqlany_make_connection_t)( void * arg );
|
|
typedef sacapi_bool (*sqlany_connect_t)( a_sqlany_connection * sqlany_conn, const char * str );
|
|
typedef sacapi_bool (*sqlany_disconnect_t)( a_sqlany_connection * sqlany_conn );
|
|
typedef sacapi_bool (*sqlany_execute_immediate_t)( a_sqlany_connection * sqlany_conn, const char * sql );
|
|
typedef a_sqlany_stmt * (*sqlany_prepare_t)( a_sqlany_connection * sqlany_conn, const char * sql_str );
|
|
typedef void (*sqlany_free_stmt_t)( a_sqlany_stmt * sqlany_stmt );
|
|
typedef sacapi_i32 (*sqlany_num_params_t)( a_sqlany_stmt * sqlany_stmt );
|
|
typedef sacapi_bool (*sqlany_describe_bind_param_t)( a_sqlany_stmt * sqlany_stmt, sacapi_u32 index, a_sqlany_bind_param * params );
|
|
typedef sacapi_bool (*sqlany_bind_param_t)( a_sqlany_stmt * sqlany_stmt, sacapi_u32 index, a_sqlany_bind_param * params );
|
|
typedef sacapi_bool (*sqlany_send_param_data_t)( a_sqlany_stmt * sqlany_stmt, sacapi_u32 index, char * buffer, size_t size );
|
|
typedef sacapi_bool (*sqlany_reset_t)( a_sqlany_stmt * sqlany_stmt );
|
|
typedef sacapi_bool (*sqlany_get_bind_param_info_t)( a_sqlany_stmt * sqlany_stmt, sacapi_u32 index, a_sqlany_bind_param_info * info );
|
|
typedef sacapi_bool (*sqlany_execute_t)( a_sqlany_stmt * sqlany_stmt );
|
|
typedef a_sqlany_stmt * (*sqlany_execute_direct_t)( a_sqlany_connection * sqlany_conn, const char * sql_str );
|
|
typedef sacapi_bool (*sqlany_fetch_absolute_t)( a_sqlany_stmt * sqlany_result, sacapi_i32 row_num );
|
|
typedef sacapi_bool (*sqlany_fetch_next_t)( a_sqlany_stmt * sqlany_stmt );
|
|
typedef sacapi_bool (*sqlany_get_next_result_t)( a_sqlany_stmt * sqlany_stmt );
|
|
typedef sacapi_i32 (*sqlany_affected_rows_t)( a_sqlany_stmt * sqlany_stmt );
|
|
typedef sacapi_i32 (*sqlany_num_cols_t)( a_sqlany_stmt * sqlany_stmt );
|
|
typedef sacapi_i32 (*sqlany_num_rows_t)( a_sqlany_stmt * sqlany_stmt );
|
|
typedef sacapi_bool (*sqlany_get_column_t)( a_sqlany_stmt * sqlany_stmt, sacapi_u32 col_index, a_sqlany_data_value * buffer );
|
|
typedef sacapi_i32 (*sqlany_get_data_t)( a_sqlany_stmt * sqlany_stmt, sacapi_u32 col_index, size_t offset, void * buffer, size_t size );
|
|
typedef sacapi_bool (*sqlany_get_data_info_t)( a_sqlany_stmt * sqlany_stmt, sacapi_u32 col_index, a_sqlany_data_info * buffer );
|
|
typedef sacapi_bool (*sqlany_get_column_info_t)( a_sqlany_stmt * sqlany_stmt, sacapi_u32 col_index, a_sqlany_column_info * buffer );
|
|
typedef sacapi_bool (*sqlany_commit_t)( a_sqlany_connection * sqlany_conn );
|
|
typedef sacapi_bool (*sqlany_rollback_t)( a_sqlany_connection * sqlany_conn );
|
|
typedef sacapi_bool (*sqlany_client_version_t)( char * buffer, size_t len );
|
|
typedef sacapi_i32 (*sqlany_error_t)( a_sqlany_connection * sqlany_conn, char * buffer, size_t size );
|
|
typedef size_t (*sqlany_sqlstate_t)( a_sqlany_connection * sqlany_conn, char * buffer, size_t size );
|
|
typedef void (*sqlany_clear_error_t)( a_sqlany_connection * sqlany_conn );
|
|
// newer API
|
|
typedef a_sqlany_interface_context *(*sqlany_init_ex_t)( const char *app_name, sacapi_u32 api_version, sacapi_u32 *max_version );
|
|
typedef void (*sqlany_fini_ex_t)( a_sqlany_interface_context *context );
|
|
typedef a_sqlany_connection *(*sqlany_new_connection_ex_t)( a_sqlany_interface_context *context );
|
|
typedef a_sqlany_connection *(*sqlany_make_connection_ex_t)( a_sqlany_interface_context *context, void *arg );
|
|
typedef sacapi_bool (*sqlany_client_version_ex_t)( a_sqlany_interface_context *context, char *buffer, size_t len );
|
|
typedef void (*sqlany_cancel_t)( a_sqlany_connection * sqlany_conn );
|
|
|
|
// API declarations
|
|
class SQLAPI_API asaAPI : public saAPI
|
|
{
|
|
public:
|
|
asaAPI();
|
|
|
|
sqlany_init_t sqlany_init;
|
|
sqlany_fini_t sqlany_fini;
|
|
sqlany_new_connection_t sqlany_new_connection;
|
|
sqlany_free_connection_t sqlany_free_connection;
|
|
sqlany_make_connection_t sqlany_make_connection;
|
|
sqlany_connect_t sqlany_connect;
|
|
sqlany_disconnect_t sqlany_disconnect;
|
|
sqlany_execute_immediate_t sqlany_execute_immediate;
|
|
sqlany_prepare_t sqlany_prepare;
|
|
sqlany_free_stmt_t sqlany_free_stmt;
|
|
sqlany_num_params_t sqlany_num_params;
|
|
sqlany_describe_bind_param_t sqlany_describe_bind_param;
|
|
sqlany_bind_param_t sqlany_bind_param;
|
|
sqlany_send_param_data_t sqlany_send_param_data;
|
|
sqlany_reset_t sqlany_reset;
|
|
sqlany_get_bind_param_info_t sqlany_get_bind_param_info;
|
|
sqlany_execute_t sqlany_execute;
|
|
sqlany_execute_direct_t sqlany_execute_direct;
|
|
sqlany_fetch_absolute_t sqlany_fetch_absolute;
|
|
sqlany_fetch_next_t sqlany_fetch_next;
|
|
sqlany_get_next_result_t sqlany_get_next_result;
|
|
sqlany_affected_rows_t sqlany_affected_rows;
|
|
sqlany_num_cols_t sqlany_num_cols;
|
|
sqlany_num_rows_t sqlany_num_rows;
|
|
sqlany_get_column_t sqlany_get_column;
|
|
sqlany_get_data_t sqlany_get_data;
|
|
sqlany_get_data_info_t sqlany_get_data_info;
|
|
sqlany_get_column_info_t sqlany_get_column_info;
|
|
sqlany_commit_t sqlany_commit;
|
|
sqlany_rollback_t sqlany_rollback;
|
|
sqlany_client_version_t sqlany_client_version;
|
|
sqlany_error_t sqlany_error;
|
|
sqlany_sqlstate_t sqlany_sqlstate;
|
|
sqlany_clear_error_t sqlany_clear_error;
|
|
// newer API
|
|
sqlany_init_ex_t sqlany_init_ex;
|
|
sqlany_fini_ex_t sqlany_fini_ex;
|
|
sqlany_new_connection_ex_t sqlany_new_connection_ex;
|
|
sqlany_make_connection_ex_t sqlany_make_connection_ex;
|
|
sqlany_client_version_ex_t sqlany_client_version_ex;
|
|
sqlany_cancel_t sqlany_cancel;
|
|
};
|
|
|
|
class SQLAPI_API asaConnectionHandles : public saConnectionHandles
|
|
{
|
|
public:
|
|
asaConnectionHandles();
|
|
a_sqlany_connection *pDb;
|
|
};
|
|
|
|
class SQLAPI_API asaCommandHandles : public saCommandHandles
|
|
{
|
|
public:
|
|
asaCommandHandles();
|
|
a_sqlany_stmt *pStmt;
|
|
};
|
|
|
|
extern asaAPI g_asaAPI;
|
|
|
|
#endif //__ASAAPI_H__
|