diff options
Diffstat (limited to 'mp/src/utils/vmpi/imysqlwrapper.h')
| -rw-r--r-- | mp/src/utils/vmpi/imysqlwrapper.h | 230 |
1 files changed, 115 insertions, 115 deletions
diff --git a/mp/src/utils/vmpi/imysqlwrapper.h b/mp/src/utils/vmpi/imysqlwrapper.h index f5a8dfa3..26041288 100644 --- a/mp/src/utils/vmpi/imysqlwrapper.h +++ b/mp/src/utils/vmpi/imysqlwrapper.h @@ -1,115 +1,115 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#ifndef MYSQL_WRAPPER_H
-#define MYSQL_WRAPPER_H
-#ifdef _WIN32
-#pragma once
-#endif
-
-
-#include "utlvector.h"
-#include "interface.h"
-
-
-class IMySQLRowSet;
-
-
-class CColumnValue
-{
-public:
-
- CColumnValue( IMySQLRowSet *pSQL, int iColumn );
-
- const char* String();
- long Int32();
-
-private:
- IMySQLRowSet *m_pSQL;
- int m_iColumn;
-};
-
-
-
-class IMySQLRowSet
-{
-public:
- virtual void Release() = 0;
-
- // Get the number of columns in the data returned from the last query (if it was a select statement).
- virtual int NumFields() = 0;
-
- // Get the name of each column returned by the last query.
- virtual const char* GetFieldName( int iColumn ) = 0;
-
- // Call this in a loop until it returns false to iterate over all rows the query returned.
- virtual bool NextRow() = 0;
-
- // You can call this to start iterating over the result set from the start again.
- // Note: after calling this, you have to call NextRow() to actually get the first row's value ready.
- virtual bool SeekToFirstRow() = 0;
-
- virtual CColumnValue GetColumnValue( int iColumn ) = 0;
- virtual CColumnValue GetColumnValue( const char *pColumnName ) = 0;
-
- virtual const char* GetColumnValue_String( int iColumn ) = 0;
- virtual long GetColumnValue_Int( int iColumn ) = 0;
-
- // You can call this to get the index of a column for faster lookups with GetColumnValue( int ).
- // Returns -1 if the column can't be found.
- virtual int GetColumnIndex( const char *pColumnName ) = 0;
-};
-
-
-class IMySQL : public IMySQLRowSet
-{
-public:
- virtual bool InitMySQL( const char *pDBName, const char *pHostName="", const char *pUserName="", const char *pPassword="" ) = 0;
- virtual void Release() = 0;
-
- // These execute SQL commands. They return 0 if the query was successful.
- virtual int Execute( const char *pString ) = 0;
-
- // This reads in all of the data in the last row set you queried with Execute and builds a separate
- // copy. This is useful in some of the VMPI tools to have a thread repeatedly execute a slow query, then
- // store off the results for the main thread to parse.
- virtual IMySQLRowSet* DuplicateRowSet() = 0;
-
- // If you just inserted rows into a table with an AUTO_INCREMENT column,
- // then this returns the (unique) value of that column.
- virtual unsigned long InsertID() = 0;
-
- // Returns the last error message, if an error took place
- virtual const char * GetLastError() = 0;
-};
-
-
-#define MYSQL_WRAPPER_VERSION_NAME "MySQLWrapper001"
-
-
-// ------------------------------------------------------------------------------------------------ //
-// Inlines.
-// ------------------------------------------------------------------------------------------------ //
-
-inline CColumnValue::CColumnValue( IMySQLRowSet *pSQL, int iColumn )
-{
- m_pSQL = pSQL;
- m_iColumn = iColumn;
-}
-
-inline const char* CColumnValue::String()
-{
- return m_pSQL->GetColumnValue_String( m_iColumn );
-}
-
-inline long CColumnValue::Int32()
-{
- return m_pSQL->GetColumnValue_Int( m_iColumn );
-}
-
-
-#endif // MYSQL_WRAPPER_H
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef MYSQL_WRAPPER_H +#define MYSQL_WRAPPER_H +#ifdef _WIN32 +#pragma once +#endif + + +#include "utlvector.h" +#include "interface.h" + + +class IMySQLRowSet; + + +class CColumnValue +{ +public: + + CColumnValue( IMySQLRowSet *pSQL, int iColumn ); + + const char* String(); + long Int32(); + +private: + IMySQLRowSet *m_pSQL; + int m_iColumn; +}; + + + +class IMySQLRowSet +{ +public: + virtual void Release() = 0; + + // Get the number of columns in the data returned from the last query (if it was a select statement). + virtual int NumFields() = 0; + + // Get the name of each column returned by the last query. + virtual const char* GetFieldName( int iColumn ) = 0; + + // Call this in a loop until it returns false to iterate over all rows the query returned. + virtual bool NextRow() = 0; + + // You can call this to start iterating over the result set from the start again. + // Note: after calling this, you have to call NextRow() to actually get the first row's value ready. + virtual bool SeekToFirstRow() = 0; + + virtual CColumnValue GetColumnValue( int iColumn ) = 0; + virtual CColumnValue GetColumnValue( const char *pColumnName ) = 0; + + virtual const char* GetColumnValue_String( int iColumn ) = 0; + virtual long GetColumnValue_Int( int iColumn ) = 0; + + // You can call this to get the index of a column for faster lookups with GetColumnValue( int ). + // Returns -1 if the column can't be found. + virtual int GetColumnIndex( const char *pColumnName ) = 0; +}; + + +class IMySQL : public IMySQLRowSet +{ +public: + virtual bool InitMySQL( const char *pDBName, const char *pHostName="", const char *pUserName="", const char *pPassword="" ) = 0; + virtual void Release() = 0; + + // These execute SQL commands. They return 0 if the query was successful. + virtual int Execute( const char *pString ) = 0; + + // This reads in all of the data in the last row set you queried with Execute and builds a separate + // copy. This is useful in some of the VMPI tools to have a thread repeatedly execute a slow query, then + // store off the results for the main thread to parse. + virtual IMySQLRowSet* DuplicateRowSet() = 0; + + // If you just inserted rows into a table with an AUTO_INCREMENT column, + // then this returns the (unique) value of that column. + virtual unsigned long InsertID() = 0; + + // Returns the last error message, if an error took place + virtual const char * GetLastError() = 0; +}; + + +#define MYSQL_WRAPPER_VERSION_NAME "MySQLWrapper001" + + +// ------------------------------------------------------------------------------------------------ // +// Inlines. +// ------------------------------------------------------------------------------------------------ // + +inline CColumnValue::CColumnValue( IMySQLRowSet *pSQL, int iColumn ) +{ + m_pSQL = pSQL; + m_iColumn = iColumn; +} + +inline const char* CColumnValue::String() +{ + return m_pSQL->GetColumnValue_String( m_iColumn ); +} + +inline long CColumnValue::Int32() +{ + return m_pSQL->GetColumnValue_Int( m_iColumn ); +} + + +#endif // MYSQL_WRAPPER_H |