aboutsummaryrefslogtreecommitdiff
path: root/src/shared/Database/DatabaseImpl.h
diff options
context:
space:
mode:
authorn0n4m3 <none@none>2010-03-09 15:45:34 +0300
committern0n4m3 <none@none>2010-03-09 15:45:34 +0300
commit04e7a5bd3949b206a25d78b7f81fb1f7acf347c2 (patch)
tree1c6cc907b742736e980a3cd7f0ee9af2d0dcf72e /src/shared/Database/DatabaseImpl.h
parentbd7ca7fdf35fbafb319112f8ff7ad3da739c91d6 (diff)
Cleanup and applying code style to some Database files.
--HG-- branch : trunk
Diffstat (limited to 'src/shared/Database/DatabaseImpl.h')
-rw-r--r--src/shared/Database/DatabaseImpl.h28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/shared/Database/DatabaseImpl.h b/src/shared/Database/DatabaseImpl.h
index d77b16c8ea6..f0ba9c84a30 100644
--- a/src/shared/Database/DatabaseImpl.h
+++ b/src/shared/Database/DatabaseImpl.h
@@ -18,11 +18,14 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+
#include "Database/Database.h"
#include "Database/SqlOperations.h"
+
/// Function body definitions for the template function members of the Database class
+
#define ASYNC_QUERY_BODY(sql, queue_itr) \
if (!sql) return false; \
\
@@ -34,6 +37,7 @@
if (queue_itr == m_queryQueues.end()) return false; \
}
+
#define ASYNC_PQUERY_BODY(format, szQuery) \
if(!format) return false; \
\
@@ -53,6 +57,7 @@
} \
}
+
#define ASYNC_DELAYHOLDER_BODY(holder, queue_itr) \
if (!holder) return false; \
\
@@ -64,8 +69,10 @@
if (queue_itr == m_queryQueues.end()) return false; \
}
+
// -- Query / member --
+
template<class Class>
bool
Database::AsyncQuery(Class *object, void (Class::*method)(QueryResult_AutoPtr), const char *sql)
@@ -74,6 +81,7 @@ Database::AsyncQuery(Class *object, void (Class::*method)(QueryResult_AutoPtr),
return m_threadBody->Delay(new SqlQuery(sql, new Trinity::QueryCallback<Class>(object, method), itr->second));
}
+
template<class Class, typename ParamType1>
bool
Database::AsyncQuery(Class *object, void (Class::*method)(QueryResult_AutoPtr, ParamType1), ParamType1 param1, const char *sql)
@@ -82,6 +90,7 @@ Database::AsyncQuery(Class *object, void (Class::*method)(QueryResult_AutoPtr, P
return m_threadBody->Delay(new SqlQuery(sql, new Trinity::QueryCallback<Class, ParamType1>(object, method, (QueryResult_AutoPtr)NULL, param1), itr->second));
}
+
template<class Class, typename ParamType1, typename ParamType2>
bool
Database::AsyncQuery(Class *object, void (Class::*method)(QueryResult_AutoPtr, ParamType1, ParamType2), ParamType1 param1, ParamType2 param2, const char *sql)
@@ -90,6 +99,7 @@ Database::AsyncQuery(Class *object, void (Class::*method)(QueryResult_AutoPtr, P
return m_threadBody->Delay(new SqlQuery(sql, new Trinity::QueryCallback<Class, ParamType1, ParamType2>(object, method, (QueryResult_AutoPtr)NULL, param1, param2), itr->second));
}
+
template<class Class, typename ParamType1, typename ParamType2, typename ParamType3>
bool
Database::AsyncQuery(Class *object, void (Class::*method)(QueryResult_AutoPtr, ParamType1, ParamType2, ParamType3), ParamType1 param1, ParamType2 param2, ParamType3 param3, const char *sql)
@@ -98,8 +108,10 @@ Database::AsyncQuery(Class *object, void (Class::*method)(QueryResult_AutoPtr, P
return m_threadBody->Delay(new SqlQuery(sql, new Trinity::QueryCallback<Class, ParamType1, ParamType2, ParamType3>(object, method, (QueryResult_AutoPtr)NULL, param1, param2, param3), itr->second));
}
+
// -- Query / static --
+
template<typename ParamType1>
bool
Database::AsyncQuery(void (*method)(QueryResult_AutoPtr, ParamType1), ParamType1 param1, const char *sql)
@@ -108,6 +120,7 @@ Database::AsyncQuery(void (*method)(QueryResult_AutoPtr, ParamType1), ParamType1
return m_threadBody->Delay(new SqlQuery(sql, new Trinity::SQueryCallback<ParamType1>(method, (QueryResult_AutoPtr)NULL, param1), itr->second));
}
+
template<typename ParamType1, typename ParamType2>
bool
Database::AsyncQuery(void (*method)(QueryResult_AutoPtr, ParamType1, ParamType2), ParamType1 param1, ParamType2 param2, const char *sql)
@@ -116,6 +129,7 @@ Database::AsyncQuery(void (*method)(QueryResult_AutoPtr, ParamType1, ParamType2)
return m_threadBody->Delay(new SqlQuery(sql, new Trinity::SQueryCallback<ParamType1, ParamType2>(method, (QueryResult_AutoPtr)NULL, param1, param2), itr->second));
}
+
template<typename ParamType1, typename ParamType2, typename ParamType3>
bool
Database::AsyncQuery(void (*method)(QueryResult_AutoPtr, ParamType1, ParamType2, ParamType3), ParamType1 param1, ParamType2 param2, ParamType3 param3, const char *sql)
@@ -124,8 +138,10 @@ Database::AsyncQuery(void (*method)(QueryResult_AutoPtr, ParamType1, ParamType2,
return m_threadBody->Delay(new SqlQuery(sql, new Trinity::SQueryCallback<ParamType1, ParamType2, ParamType3>(method, (QueryResult_AutoPtr)NULL, param1, param2, param3), itr->second));
}
+
// -- PQuery / member --
+
template<class Class>
bool
Database::AsyncPQuery(Class *object, void (Class::*method)(QueryResult_AutoPtr), const char *format,...)
@@ -134,6 +150,7 @@ Database::AsyncPQuery(Class *object, void (Class::*method)(QueryResult_AutoPtr),
return AsyncQuery(object, method, szQuery);
}
+
template<class Class, typename ParamType1>
bool
Database::AsyncPQuery(Class *object, void (Class::*method)(QueryResult_AutoPtr, ParamType1), ParamType1 param1, const char *format,...)
@@ -142,6 +159,7 @@ Database::AsyncPQuery(Class *object, void (Class::*method)(QueryResult_AutoPtr,
return AsyncQuery(object, method, param1, szQuery);
}
+
template<class Class, typename ParamType1, typename ParamType2>
bool
Database::AsyncPQuery(Class *object, void (Class::*method)(QueryResult_AutoPtr, ParamType1, ParamType2), ParamType1 param1, ParamType2 param2, const char *format,...)
@@ -150,6 +168,7 @@ Database::AsyncPQuery(Class *object, void (Class::*method)(QueryResult_AutoPtr,
return AsyncQuery(object, method, param1, param2, szQuery);
}
+
template<class Class, typename ParamType1, typename ParamType2, typename ParamType3>
bool
Database::AsyncPQuery(Class *object, void (Class::*method)(QueryResult_AutoPtr, ParamType1, ParamType2, ParamType3), ParamType1 param1, ParamType2 param2, ParamType3 param3, const char *format,...)
@@ -158,8 +177,10 @@ Database::AsyncPQuery(Class *object, void (Class::*method)(QueryResult_AutoPtr,
return AsyncQuery(object, method, param1, param2, param3, szQuery);
}
+
// -- PQuery / static --
+
template<typename ParamType1>
bool
Database::AsyncPQuery(void (*method)(QueryResult_AutoPtr, ParamType1), ParamType1 param1, const char *format,...)
@@ -168,6 +189,7 @@ Database::AsyncPQuery(void (*method)(QueryResult_AutoPtr, ParamType1), ParamType
return AsyncQuery(method, param1, szQuery);
}
+
template<typename ParamType1, typename ParamType2>
bool
Database::AsyncPQuery(void (*method)(QueryResult_AutoPtr, ParamType1, ParamType2), ParamType1 param1, ParamType2 param2, const char *format,...)
@@ -176,6 +198,7 @@ Database::AsyncPQuery(void (*method)(QueryResult_AutoPtr, ParamType1, ParamType2
return AsyncQuery(method, param1, param2, szQuery);
}
+
template<typename ParamType1, typename ParamType2, typename ParamType3>
bool
Database::AsyncPQuery(void (*method)(QueryResult_AutoPtr, ParamType1, ParamType2, ParamType3), ParamType1 param1, ParamType2 param2, ParamType3 param3, const char *format,...)
@@ -184,8 +207,10 @@ Database::AsyncPQuery(void (*method)(QueryResult_AutoPtr, ParamType1, ParamType2
return AsyncQuery(method, param1, param2, param3, szQuery);
}
+
// -- QueryHolder --
+
template<class Class>
bool
Database::DelayQueryHolder(Class *object, void (Class::*method)(QueryResult_AutoPtr, SqlQueryHolder*), SqlQueryHolder *holder)
@@ -194,6 +219,7 @@ Database::DelayQueryHolder(Class *object, void (Class::*method)(QueryResult_Auto
return holder->Execute(new Trinity::QueryCallback<Class, SqlQueryHolder*>(object, method, (QueryResult_AutoPtr)NULL, holder), m_threadBody, itr->second);
}
+
template<class Class, typename ParamType1>
bool
Database::DelayQueryHolder(Class *object, void (Class::*method)(QueryResult_AutoPtr, SqlQueryHolder*, ParamType1), SqlQueryHolder *holder, ParamType1 param1)
@@ -202,7 +228,7 @@ Database::DelayQueryHolder(Class *object, void (Class::*method)(QueryResult_Auto
return holder->Execute(new Trinity::QueryCallback<Class, SqlQueryHolder*, ParamType1>(object, method, (QueryResult_AutoPtr)NULL, holder, param1), m_threadBody, itr->second);
}
+
#undef ASYNC_QUERY_BODY
#undef ASYNC_PQUERY_BODY
#undef ASYNC_DELAYHOLDER_BODY
-