mirror of
https://github.com/stefanocasazza/ULib.git
synced 2025-09-28 19:05:55 +08:00
sync
This commit is contained in:
parent
ad813f58de
commit
47ae4f8ab5
|
@ -670,9 +670,9 @@ static uint32_t getApInfo(const UString& label, char* buffer)
|
|||
return u__snprintf(buffer, 1024, U_CONSTANT_TO_PARAM("%v@%v/%v"), label.rep, ap_address->rep, ap_hostname->rep);
|
||||
}
|
||||
|
||||
static void writeToLOG(const UString& label, const char* op, uint32_t op_len, const UString& opt)
|
||||
static void writeToLOG(const UString& lmac, const UString& label, const char* op, uint32_t op_len, const UString& opt)
|
||||
{
|
||||
U_TRACE(5, "::writeToLOG(%V,%.*S,%u,%V)", label.rep, op_len, op, op_len, opt.rep)
|
||||
U_TRACE(5, "::writeToLOG((%V,%V,%.*S,%u,%V)", lmac.rep, label.rep, op_len, op, op_len, opt.rep)
|
||||
|
||||
U_INTERNAL_ASSERT_POINTER(op)
|
||||
U_INTERNAL_ASSERT_MAJOR(op_len, 0)
|
||||
|
@ -686,30 +686,45 @@ static void writeToLOG(const UString& label, const char* op, uint32_t op_len, co
|
|||
|
||||
ULog::log(file_LOG->getFd(),
|
||||
U_CONSTANT_TO_PARAM("op: %.*s, mac: %v, ip: %v, ap: %.*s, policy: %v|%.*sconsume|%snotify%v"),
|
||||
op_len, op, mac->rep, ip->rep, getApInfo(label, buffer), buffer, policySessionId->rep, (ap_consume ? 0 : 3), "no_", (policySessionNotify == 0 ? "" :
|
||||
op_len, op, lmac.rep, ip->rep, getApInfo(label, buffer), buffer, policySessionId->rep, (ap_consume ? 0 : 3), "no_", (policySessionNotify == 0 ? "" :
|
||||
policySessionNotify == 1 ? "no_" : "strict_"), opt.rep);
|
||||
}
|
||||
|
||||
static void writeSessionToLOG(const UString& label, const char* op, uint32_t op_len)
|
||||
static void writeSessionToLOG(const UString& lmac, const UString& label, const char* op, uint32_t op_len)
|
||||
{
|
||||
U_TRACE(5, "::writeSessionToLOG(%V,%.*S,%u)", label.rep, op_len, op, op_len)
|
||||
U_TRACE(5, "::writeSessionToLOG((%V,%V,%.*S,%u)", lmac.rep, label.rep, op_len, op, op_len)
|
||||
|
||||
UString opt(200U);
|
||||
|
||||
opt.snprintf(U_CONSTANT_TO_PARAM(", traffic: %llu, elapsed: %u"), counter/1024, (u_now->tv_sec-created)/60);
|
||||
|
||||
writeToLOG(label, op, op_len, opt);
|
||||
writeToLOG(lmac, label, op, op_len, opt);
|
||||
}
|
||||
|
||||
static const char* getKeySessionPointer()
|
||||
{
|
||||
U_TRACE_NO_PARAM(5, "::getKeySessionPointer()")
|
||||
|
||||
uint32_t pos = U_STRING_FIND(*key_session, 10, "deviceId:"); // 10 => U_CONSTANT_SIZE("captiveId:")
|
||||
|
||||
U_INTERNAL_ASSERT_DIFFERS(pos, U_NOT_FOUND)
|
||||
|
||||
const char* ptr = key_session->c_pointer(pos);
|
||||
|
||||
return ptr;
|
||||
}
|
||||
|
||||
static void deleteSession()
|
||||
{
|
||||
U_TRACE_NO_PARAM(5, "::deleteSession()")
|
||||
|
||||
const char* ptr = getKeySessionPointer();
|
||||
|
||||
(void) rc->del(U_CONSTANT_TO_PARAM("SESSION:%v"), key_session->rep);
|
||||
(void) rc->zrem(U_CONSTANT_TO_PARAM("SESSION:byCaptiveIdAndApId deviceId:%v;ip:%v"), mac->rep, ip->rep);
|
||||
(void) rc->zrem(U_CONSTANT_TO_PARAM("SESSION:byCaptiveIdAndApId %.*s"), key_session->remain(ptr), ptr);
|
||||
(void) rc->zrem(U_CONSTANT_TO_PARAM("SESSION:byLastUpdate %v"), key_session->rep);
|
||||
|
||||
// U_LOGGER("*** SESSION(%V) deleted at deleteSession() ***", key_session->rep);
|
||||
// U_LOGGER("*** SESSION(%V) deleted at deleteSession() ***", key_session->rep);
|
||||
}
|
||||
|
||||
static void resetDeviceDailyCounter()
|
||||
|
@ -811,9 +826,9 @@ static bool getDataFromPOST(bool bpeer)
|
|||
|
||||
if (getSession(mac_old, label_old, U_CONSTANT_TO_PARAM("getDataFromPOST(true)")))
|
||||
{
|
||||
deleteSession();
|
||||
writeSessionToLOG(mac_old, label_old, U_CONSTANT_TO_PARAM("DENY_RENEW"));
|
||||
|
||||
writeSessionToLOG(label_old, U_CONSTANT_TO_PARAM("DENY_NO_TRAFFIC"));
|
||||
deleteSession();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -938,17 +953,13 @@ static void lostSession(int bclean)
|
|||
addToLogout(*ap_label);
|
||||
}
|
||||
|
||||
writeSessionToLOG(*ap_label, U_CONSTANT_TO_PARAM("DENY_LOST"));
|
||||
writeSessionToLOG(*mac, *ap_label, U_CONSTANT_TO_PARAM("DENY_LOST"));
|
||||
|
||||
deleteSession();
|
||||
}
|
||||
else
|
||||
{
|
||||
uint32_t pos = U_STRING_FIND(*key_session, 10, "deviceId:"); // 10 => U_CONSTANT_SIZE("captiveId:")
|
||||
|
||||
U_INTERNAL_ASSERT_DIFFERS(pos, U_NOT_FOUND)
|
||||
|
||||
const char* ptr = key_session->c_pointer(pos);
|
||||
const char* ptr = getKeySessionPointer();
|
||||
|
||||
(void) rc->zrem(U_CONSTANT_TO_PARAM("SESSION:byCaptiveIdAndApId %.*s"), key_session->remain(ptr), ptr);
|
||||
(void) rc->zrem(U_CONSTANT_TO_PARAM("SESSION:byLastUpdate %v"), key_session->rep);
|
||||
|
@ -1315,7 +1326,7 @@ static void GET_logout()
|
|||
|
||||
sendLogoutToNodog();
|
||||
|
||||
writeSessionToLOG(*ap_label, U_CONSTANT_TO_PARAM("DENY_NO_TRAFFIC"));
|
||||
writeSessionToLOG(*mac, *ap_label, U_CONSTANT_TO_PARAM("DENY_NO_TRAFFIC"));
|
||||
|
||||
deleteSession();
|
||||
}
|
||||
|
@ -1522,12 +1533,12 @@ static void POST_login()
|
|||
UFlatBuffer fb;
|
||||
char buffer[2] = { '1'-ko, '0'+policySessionNotify }; // deny|permit: ('0'|'1') policy: notify|no_notify|strict_notify ('0'|'1'|'2')
|
||||
|
||||
writeToLOG(*ap_label, U_CONSTANT_TO_PARAM("PERMIT"), UString::getStringNull());
|
||||
writeToLOG(*mac, *ap_label, U_CONSTANT_TO_PARAM("PERMIT"), UString::getStringNull());
|
||||
|
||||
(void) rc->hmset(U_CONSTANT_TO_PARAM("DEVICE:id:%v lastAccess %u"), mac->rep, u_now->tv_sec);
|
||||
(void) rc->zadd(U_CONSTANT_TO_PARAM("DEVICE:bylastAccess %u id:%v"), u_now->tv_sec, mac->rep);
|
||||
|
||||
if (ko) writeSessionToLOG(*ap_label, U_CONSTANT_TO_PARAM("DENY_POLICY"));
|
||||
if (ko) writeSessionToLOG(*mac, *ap_label, U_CONSTANT_TO_PARAM("DENY_POLICY"));
|
||||
else
|
||||
{
|
||||
U_ASSERT(mac->isXMacAddr())
|
||||
|
@ -1583,7 +1594,7 @@ static void POST_notify()
|
|||
// $2 -> mac
|
||||
// $3 -> ip
|
||||
|
||||
if (getDataFromPOST(false)) writeToLOG(*ap_label, U_CONSTANT_TO_PARAM("NOTIFIED"), UString::getStringNull());
|
||||
if (getDataFromPOST(false)) writeToLOG(*mac, *ap_label, U_CONSTANT_TO_PARAM("NOTIFIED"), UString::getStringNull());
|
||||
|
||||
ap->clear();
|
||||
|
||||
|
@ -1613,7 +1624,7 @@ static void POST_strict_notify()
|
|||
(void) rc->hmset(x);
|
||||
}
|
||||
|
||||
writeToLOG(*ap_label, U_CONSTANT_TO_PARAM("STRICT_NOTIFIED"), UString::getStringNull());
|
||||
writeToLOG(*mac, *ap_label, U_CONSTANT_TO_PARAM("STRICT_NOTIFIED"), UString::getStringNull());
|
||||
}
|
||||
|
||||
ap->clear();
|
||||
|
@ -1740,7 +1751,7 @@ static void POST_info()
|
|||
|
||||
created += ctime_no_traffic;
|
||||
|
||||
del_sess: writeSessionToLOG(label, op, op_len);
|
||||
del_sess: writeSessionToLOG(*mac, label, op, op_len);
|
||||
|
||||
deleteSession();
|
||||
|
||||
|
@ -1758,7 +1769,7 @@ del_login: addToLogout(label);
|
|||
{
|
||||
x.snprintf(U_CONSTANT_TO_PARAM(", traffic: %llu"), counter/1024);
|
||||
|
||||
writeToLOG(*ap_label, U_CONSTANT_TO_PARAM("RST_SESSION"), x);
|
||||
writeToLOG(*mac, *ap_label, U_CONSTANT_TO_PARAM("RST_SESSION"), x);
|
||||
|
||||
counter = 0;
|
||||
|
||||
|
|
|
@ -254,13 +254,69 @@ public:
|
|||
|
||||
// Syntactic sugar for bindParam() used with use() binding param registers
|
||||
|
||||
template <class T1> void use(T1& r1);
|
||||
template <class T1, class T2> void use(T1& r1, T2& r2);
|
||||
template <class T1, class T2, class T3> void use(T1& r1, T2& r2, T3& r3);
|
||||
template <class T1, class T2, class T3, class T4> void use(T1& r1, T2& r2, T3& r3, T4& r4);
|
||||
template <class T1, class T2, class T3, class T4, class T5> void use(T1& r1, T2& r2, T3& r3, T4& r4, T5& r5);
|
||||
template <class T1, class T2, class T3, class T4, class T5, class T6> void use(T1& r1, T2& r2, T3& r3, T4& r4, T5& r5, T6& r6);
|
||||
template <class T1, class T2, class T3, class T4, class T5, class T6, class T7> void use(T1& r1, T2& r2, T3& r3, T4& r4, T5& r5, T6& r6, T7& r7);
|
||||
#if defined(HAVE_CXX17)
|
||||
template <typename...Ts> void use(Ts&&... ts) { (bindParam(UOrmTypeHandler<Ts>(ts)), ...); }
|
||||
#else
|
||||
template <class T1>
|
||||
void use(T1& r1);
|
||||
|
||||
template <class T1,class T2>
|
||||
void use(T1& r1,T2& r2);
|
||||
|
||||
template <class T1,class T2,class T3>
|
||||
void use(T1& r1,T2& r2,T3& r3);
|
||||
|
||||
template <class T1,class T2,class T3,class T4>
|
||||
void use(T1& r1,T2& r2,T3& r3,T4& r4);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5>
|
||||
void use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6>
|
||||
void use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7>
|
||||
void use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
|
||||
void use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
|
||||
void use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
|
||||
void use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11>
|
||||
void use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12>
|
||||
void use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13>
|
||||
void use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14>
|
||||
void use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15>
|
||||
void use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16>
|
||||
void use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17>
|
||||
void use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16,T17& r17);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18>
|
||||
void use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16,T17& r17,T18& r18);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19>
|
||||
void use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16,T17& r17,T18& r18,T19& r19);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20>
|
||||
void use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16,T17& r17,T18& r18,T19& r19,T20& r20);
|
||||
#endif
|
||||
|
||||
// BIND PARAM
|
||||
|
||||
|
@ -304,15 +360,75 @@ public:
|
|||
t.bindParam(this);
|
||||
}
|
||||
|
||||
// Syntactic sugar for bindResult() used with into() binding result registers
|
||||
/**
|
||||
* Syntactic sugar for bindResult() used with into() binding result registers
|
||||
*
|
||||
* you could replace all of this with a single variadic template method and a c++17 fold expression (Victor Stewart)
|
||||
*/
|
||||
|
||||
template <class T1> void into(T1& r1);
|
||||
template <class T1, class T2> void into(T1& r1, T2& r2);
|
||||
template <class T1, class T2, class T3> void into(T1& r1, T2& r2, T3& r3);
|
||||
template <class T1, class T2, class T3, class T4> void into(T1& r1, T2& r2, T3& r3, T4& r4);
|
||||
template <class T1, class T2, class T3, class T4, class T5> void into(T1& r1, T2& r2, T3& r3, T4& r4, T5& r5);
|
||||
template <class T1, class T2, class T3, class T4, class T5, class T6> void into(T1& r1, T2& r2, T3& r3, T4& r4, T5& r5, T6& r6);
|
||||
template <class T1, class T2, class T3, class T4, class T5, class T6, class T7> void into(T1& r1, T2& r2, T3& r3, T4& r4, T5& r5, T6& r6, T7& r7);
|
||||
#if defined(HAVE_CXX17)
|
||||
template <typename...Ts> void into(Ts&&... ts) { (bindResult(UOrmTypeHandler<Ts>(ts)), ...); }
|
||||
#else
|
||||
template <class T1>
|
||||
void into(T1& r1);
|
||||
|
||||
template <class T1,class T2>
|
||||
void into(T1& r1,T2& r2);
|
||||
|
||||
template <class T1,class T2,class T3>
|
||||
void into(T1& r1,T2& r2,T3& r3);
|
||||
|
||||
template <class T1,class T2,class T3,class T4>
|
||||
void into(T1& r1,T2& r2,T3& r3,T4& r4);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5>
|
||||
void into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6>
|
||||
void into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7>
|
||||
void into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
|
||||
void into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
|
||||
void into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
|
||||
void into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11>
|
||||
void into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12>
|
||||
void into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13>
|
||||
void into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14>
|
||||
void into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15>
|
||||
void into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16>
|
||||
void into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17>
|
||||
void into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16,T17& r17);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18>
|
||||
void into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16,T17& r17,T18& r18);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19>
|
||||
void into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16,T17& r17,T18& r18,T19& r19);
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20>
|
||||
void into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16,T17& r17,T18& r18,T19& r19,T20& r20);
|
||||
#endif
|
||||
|
||||
// BIND RESULT
|
||||
|
||||
|
@ -364,37 +480,38 @@ private:
|
|||
|
||||
// Syntactic sugar for bindParam() used with use() binding registers
|
||||
|
||||
#if !defined(HAVE_CXX17)
|
||||
template <class T1>
|
||||
inline void UOrmStatement::use(T1& r1)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1>(%p)", &r1)
|
||||
U_TRACE(0, "UOrmStatement::use<T1&>(%p)",&r1)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
}
|
||||
|
||||
template <class T1, class T2>
|
||||
inline void UOrmStatement::use(T1& r1, T2& r2)
|
||||
template <class T1,class T2>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1,T2>(%p,%p)", &r1, &r2)
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&>(%p,%p)",&r1,&r2)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
}
|
||||
|
||||
template <class T1, class T2, class T3>
|
||||
inline void UOrmStatement::use(T1& r1, T2& r2, T3& r3)
|
||||
template <class T1,class T2,class T3>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2,T3& r3)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1,T2,T3>(%p,%p,%p)", &r1, &r2, &r3)
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&,T3&>(%p,%p,%p)",&r1,&r2,&r3)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
bindParam(UOrmTypeHandler<T3>(r3));
|
||||
}
|
||||
|
||||
template <class T1, class T2, class T3, class T4>
|
||||
inline void UOrmStatement::use(T1& r1, T2& r2, T3& r3, T4& r4)
|
||||
template <class T1,class T2,class T3,class T4>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2,T3& r3,T4& r4)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1,T2,T3,T4>(%p,%p,%p,%p)", &r1, &r2, &r3, &r4)
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&,T3&,T4&>(%p,%p,%p,%p)",&r1,&r2,&r3,&r4)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
|
@ -402,10 +519,10 @@ inline void UOrmStatement::use(T1& r1, T2& r2, T3& r3, T4& r4)
|
|||
bindParam(UOrmTypeHandler<T4>(r4));
|
||||
}
|
||||
|
||||
template <class T1, class T2, class T3, class T4, class T5>
|
||||
inline void UOrmStatement::use(T1& r1, T2& r2, T3& r3, T4& r4, T5& r5)
|
||||
template <class T1,class T2,class T3,class T4,class T5>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1,T2,T3,T4,T5>(%p,%p,%p,%p,%p)", &r1, &r2, &r3, &r4, &r5)
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&,T3&,T4&,T5&>(%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
|
@ -414,10 +531,10 @@ inline void UOrmStatement::use(T1& r1, T2& r2, T3& r3, T4& r4, T5& r5)
|
|||
bindParam(UOrmTypeHandler<T5>(r5));
|
||||
}
|
||||
|
||||
template <class T1, class T2, class T3, class T4, class T5, class T6>
|
||||
inline void UOrmStatement::use(T1& r1, T2& r2, T3& r3, T4& r4, T5& r5, T6& r6)
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1,T2,T3,T4,T5,T6>(%p,%p,%p,%p,%p,%p)", &r1, &r2, &r3, &r4, &r5, &r6)
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&,T3&,T4&,T5&,T6&>(%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
|
@ -427,10 +544,10 @@ inline void UOrmStatement::use(T1& r1, T2& r2, T3& r3, T4& r4, T5& r5, T6& r6)
|
|||
bindParam(UOrmTypeHandler<T6>(r6));
|
||||
}
|
||||
|
||||
template <class T1, class T2, class T3, class T4, class T5, class T6, class T7>
|
||||
inline void UOrmStatement::use(T1& r1, T2& r2, T3& r3, T4& r4, T5& r5, T6& r6, T7& r7)
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1,T2,T3,T4,T5,T6,T7>(%p,%p,%p,%p,%p,%p,%p)", &r1, &r2, &r3, &r4, &r5, &r6, &r7)
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&,T3&,T4&,T5&,T6&,T7&>(%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
|
@ -441,39 +558,314 @@ inline void UOrmStatement::use(T1& r1, T2& r2, T3& r3, T4& r4, T5& r5, T6& r6, T
|
|||
bindParam(UOrmTypeHandler<T7>(r7));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&>(%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
bindParam(UOrmTypeHandler<T3>(r3));
|
||||
bindParam(UOrmTypeHandler<T4>(r4));
|
||||
bindParam(UOrmTypeHandler<T5>(r5));
|
||||
bindParam(UOrmTypeHandler<T6>(r6));
|
||||
bindParam(UOrmTypeHandler<T7>(r7));
|
||||
bindParam(UOrmTypeHandler<T8>(r8));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&>(%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
bindParam(UOrmTypeHandler<T3>(r3));
|
||||
bindParam(UOrmTypeHandler<T4>(r4));
|
||||
bindParam(UOrmTypeHandler<T5>(r5));
|
||||
bindParam(UOrmTypeHandler<T6>(r6));
|
||||
bindParam(UOrmTypeHandler<T7>(r7));
|
||||
bindParam(UOrmTypeHandler<T8>(r8));
|
||||
bindParam(UOrmTypeHandler<T9>(r9));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
bindParam(UOrmTypeHandler<T3>(r3));
|
||||
bindParam(UOrmTypeHandler<T4>(r4));
|
||||
bindParam(UOrmTypeHandler<T5>(r5));
|
||||
bindParam(UOrmTypeHandler<T6>(r6));
|
||||
bindParam(UOrmTypeHandler<T7>(r7));
|
||||
bindParam(UOrmTypeHandler<T8>(r8));
|
||||
bindParam(UOrmTypeHandler<T9>(r9));
|
||||
bindParam(UOrmTypeHandler<T10>(r10));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
bindParam(UOrmTypeHandler<T3>(r3));
|
||||
bindParam(UOrmTypeHandler<T4>(r4));
|
||||
bindParam(UOrmTypeHandler<T5>(r5));
|
||||
bindParam(UOrmTypeHandler<T6>(r6));
|
||||
bindParam(UOrmTypeHandler<T7>(r7));
|
||||
bindParam(UOrmTypeHandler<T8>(r8));
|
||||
bindParam(UOrmTypeHandler<T9>(r9));
|
||||
bindParam(UOrmTypeHandler<T10>(r10));
|
||||
bindParam(UOrmTypeHandler<T11>(r11));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11,&r12)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
bindParam(UOrmTypeHandler<T3>(r3));
|
||||
bindParam(UOrmTypeHandler<T4>(r4));
|
||||
bindParam(UOrmTypeHandler<T5>(r5));
|
||||
bindParam(UOrmTypeHandler<T6>(r6));
|
||||
bindParam(UOrmTypeHandler<T7>(r7));
|
||||
bindParam(UOrmTypeHandler<T8>(r8));
|
||||
bindParam(UOrmTypeHandler<T9>(r9));
|
||||
bindParam(UOrmTypeHandler<T10>(r10));
|
||||
bindParam(UOrmTypeHandler<T11>(r11));
|
||||
bindParam(UOrmTypeHandler<T12>(r12));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11,&r12,&r13)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
bindParam(UOrmTypeHandler<T3>(r3));
|
||||
bindParam(UOrmTypeHandler<T4>(r4));
|
||||
bindParam(UOrmTypeHandler<T5>(r5));
|
||||
bindParam(UOrmTypeHandler<T6>(r6));
|
||||
bindParam(UOrmTypeHandler<T7>(r7));
|
||||
bindParam(UOrmTypeHandler<T8>(r8));
|
||||
bindParam(UOrmTypeHandler<T9>(r9));
|
||||
bindParam(UOrmTypeHandler<T10>(r10));
|
||||
bindParam(UOrmTypeHandler<T11>(r11));
|
||||
bindParam(UOrmTypeHandler<T12>(r12));
|
||||
bindParam(UOrmTypeHandler<T13>(r13));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11,&r12,&r13,&r14)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
bindParam(UOrmTypeHandler<T3>(r3));
|
||||
bindParam(UOrmTypeHandler<T4>(r4));
|
||||
bindParam(UOrmTypeHandler<T5>(r5));
|
||||
bindParam(UOrmTypeHandler<T6>(r6));
|
||||
bindParam(UOrmTypeHandler<T7>(r7));
|
||||
bindParam(UOrmTypeHandler<T8>(r8));
|
||||
bindParam(UOrmTypeHandler<T9>(r9));
|
||||
bindParam(UOrmTypeHandler<T10>(r10));
|
||||
bindParam(UOrmTypeHandler<T11>(r11));
|
||||
bindParam(UOrmTypeHandler<T12>(r12));
|
||||
bindParam(UOrmTypeHandler<T13>(r13));
|
||||
bindParam(UOrmTypeHandler<T14>(r14));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11,&r12,&r13,&r14,&r15)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
bindParam(UOrmTypeHandler<T3>(r3));
|
||||
bindParam(UOrmTypeHandler<T4>(r4));
|
||||
bindParam(UOrmTypeHandler<T5>(r5));
|
||||
bindParam(UOrmTypeHandler<T6>(r6));
|
||||
bindParam(UOrmTypeHandler<T7>(r7));
|
||||
bindParam(UOrmTypeHandler<T8>(r8));
|
||||
bindParam(UOrmTypeHandler<T9>(r9));
|
||||
bindParam(UOrmTypeHandler<T10>(r10));
|
||||
bindParam(UOrmTypeHandler<T11>(r11));
|
||||
bindParam(UOrmTypeHandler<T12>(r12));
|
||||
bindParam(UOrmTypeHandler<T13>(r13));
|
||||
bindParam(UOrmTypeHandler<T14>(r14));
|
||||
bindParam(UOrmTypeHandler<T15>(r15));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11,&r12,&r13,&r14,&r15,&r16)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
bindParam(UOrmTypeHandler<T3>(r3));
|
||||
bindParam(UOrmTypeHandler<T4>(r4));
|
||||
bindParam(UOrmTypeHandler<T5>(r5));
|
||||
bindParam(UOrmTypeHandler<T6>(r6));
|
||||
bindParam(UOrmTypeHandler<T7>(r7));
|
||||
bindParam(UOrmTypeHandler<T8>(r8));
|
||||
bindParam(UOrmTypeHandler<T9>(r9));
|
||||
bindParam(UOrmTypeHandler<T10>(r10));
|
||||
bindParam(UOrmTypeHandler<T11>(r11));
|
||||
bindParam(UOrmTypeHandler<T12>(r12));
|
||||
bindParam(UOrmTypeHandler<T13>(r13));
|
||||
bindParam(UOrmTypeHandler<T14>(r14));
|
||||
bindParam(UOrmTypeHandler<T15>(r15));
|
||||
bindParam(UOrmTypeHandler<T16>(r16));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16,T17& r17)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11,&r12,&r13,&r14,&r15,&r16,&r17)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
bindParam(UOrmTypeHandler<T3>(r3));
|
||||
bindParam(UOrmTypeHandler<T4>(r4));
|
||||
bindParam(UOrmTypeHandler<T5>(r5));
|
||||
bindParam(UOrmTypeHandler<T6>(r6));
|
||||
bindParam(UOrmTypeHandler<T7>(r7));
|
||||
bindParam(UOrmTypeHandler<T8>(r8));
|
||||
bindParam(UOrmTypeHandler<T9>(r9));
|
||||
bindParam(UOrmTypeHandler<T10>(r10));
|
||||
bindParam(UOrmTypeHandler<T11>(r11));
|
||||
bindParam(UOrmTypeHandler<T12>(r12));
|
||||
bindParam(UOrmTypeHandler<T13>(r13));
|
||||
bindParam(UOrmTypeHandler<T14>(r14));
|
||||
bindParam(UOrmTypeHandler<T15>(r15));
|
||||
bindParam(UOrmTypeHandler<T16>(r16));
|
||||
bindParam(UOrmTypeHandler<T17>(r17));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16,T17& r17,T18& r18)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&,T18&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11,&r12,&r13,&r14,&r15,&r16,&r17,&r18)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
bindParam(UOrmTypeHandler<T3>(r3));
|
||||
bindParam(UOrmTypeHandler<T4>(r4));
|
||||
bindParam(UOrmTypeHandler<T5>(r5));
|
||||
bindParam(UOrmTypeHandler<T6>(r6));
|
||||
bindParam(UOrmTypeHandler<T7>(r7));
|
||||
bindParam(UOrmTypeHandler<T8>(r8));
|
||||
bindParam(UOrmTypeHandler<T9>(r9));
|
||||
bindParam(UOrmTypeHandler<T10>(r10));
|
||||
bindParam(UOrmTypeHandler<T11>(r11));
|
||||
bindParam(UOrmTypeHandler<T12>(r12));
|
||||
bindParam(UOrmTypeHandler<T13>(r13));
|
||||
bindParam(UOrmTypeHandler<T14>(r14));
|
||||
bindParam(UOrmTypeHandler<T15>(r15));
|
||||
bindParam(UOrmTypeHandler<T16>(r16));
|
||||
bindParam(UOrmTypeHandler<T17>(r17));
|
||||
bindParam(UOrmTypeHandler<T18>(r18));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16,T17& r17,T18& r18,T19& r19)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&,T18&,T19&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11,&r12,&r13,&r14,&r15,&r16,&r17,&r18,&r19)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
bindParam(UOrmTypeHandler<T3>(r3));
|
||||
bindParam(UOrmTypeHandler<T4>(r4));
|
||||
bindParam(UOrmTypeHandler<T5>(r5));
|
||||
bindParam(UOrmTypeHandler<T6>(r6));
|
||||
bindParam(UOrmTypeHandler<T7>(r7));
|
||||
bindParam(UOrmTypeHandler<T8>(r8));
|
||||
bindParam(UOrmTypeHandler<T9>(r9));
|
||||
bindParam(UOrmTypeHandler<T10>(r10));
|
||||
bindParam(UOrmTypeHandler<T11>(r11));
|
||||
bindParam(UOrmTypeHandler<T12>(r12));
|
||||
bindParam(UOrmTypeHandler<T13>(r13));
|
||||
bindParam(UOrmTypeHandler<T14>(r14));
|
||||
bindParam(UOrmTypeHandler<T15>(r15));
|
||||
bindParam(UOrmTypeHandler<T16>(r16));
|
||||
bindParam(UOrmTypeHandler<T17>(r17));
|
||||
bindParam(UOrmTypeHandler<T18>(r18));
|
||||
bindParam(UOrmTypeHandler<T19>(r19));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20>
|
||||
inline void UOrmStatement::use(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16,T17& r17,T18& r18,T19& r19,T20& r20)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::use<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&,T18&,T19&,T20&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11,&r12,&r13,&r14,&r15,&r16,&r17,&r18,&r19,&r20)
|
||||
|
||||
bindParam(UOrmTypeHandler<T1>(r1));
|
||||
bindParam(UOrmTypeHandler<T2>(r2));
|
||||
bindParam(UOrmTypeHandler<T3>(r3));
|
||||
bindParam(UOrmTypeHandler<T4>(r4));
|
||||
bindParam(UOrmTypeHandler<T5>(r5));
|
||||
bindParam(UOrmTypeHandler<T6>(r6));
|
||||
bindParam(UOrmTypeHandler<T7>(r7));
|
||||
bindParam(UOrmTypeHandler<T8>(r8));
|
||||
bindParam(UOrmTypeHandler<T9>(r9));
|
||||
bindParam(UOrmTypeHandler<T10>(r10));
|
||||
bindParam(UOrmTypeHandler<T11>(r11));
|
||||
bindParam(UOrmTypeHandler<T12>(r12));
|
||||
bindParam(UOrmTypeHandler<T13>(r13));
|
||||
bindParam(UOrmTypeHandler<T14>(r14));
|
||||
bindParam(UOrmTypeHandler<T15>(r15));
|
||||
bindParam(UOrmTypeHandler<T16>(r16));
|
||||
bindParam(UOrmTypeHandler<T17>(r17));
|
||||
bindParam(UOrmTypeHandler<T18>(r18));
|
||||
bindParam(UOrmTypeHandler<T19>(r19));
|
||||
bindParam(UOrmTypeHandler<T20>(r20));
|
||||
}
|
||||
#endif
|
||||
|
||||
// Syntactic sugar for bindResult() used with into() binding result registers
|
||||
|
||||
#if !defined(HAVE_CXX17)
|
||||
template <class T1>
|
||||
inline void UOrmStatement::into(T1& r1)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1>(%p)", &r1)
|
||||
U_TRACE(0, "UOrmStatement::into<T1&>(%p)",&r1)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
}
|
||||
|
||||
template <class T1, class T2>
|
||||
inline void UOrmStatement::into(T1& r1, T2& r2)
|
||||
template <class T1,class T2>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1,T2>(%p,%p)", &r1, &r2)
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&>(%p,%p)",&r1,&r2)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
}
|
||||
|
||||
template <class T1, class T2, class T3>
|
||||
inline void UOrmStatement::into(T1& r1, T2& r2, T3& r3)
|
||||
template <class T1,class T2,class T3>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2,T3& r3)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1,T2,T3>(%p,%p,%p)", &r1, &r2, &r3)
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&,T3&>(%p,%p,%p)",&r1,&r2,&r3)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
bindResult(UOrmTypeHandler<T3>(r3));
|
||||
}
|
||||
|
||||
template <class T1, class T2, class T3, class T4>
|
||||
inline void UOrmStatement::into(T1& r1, T2& r2, T3& r3, T4& r4)
|
||||
template <class T1,class T2,class T3,class T4>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2,T3& r3,T4& r4)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1,T2,T3,T4>(%p,%p,%p,%p)", &r1, &r2, &r3, &r4)
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&,T3&,T4&>(%p,%p,%p,%p)",&r1,&r2,&r3,&r4)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
|
@ -481,10 +873,10 @@ inline void UOrmStatement::into(T1& r1, T2& r2, T3& r3, T4& r4)
|
|||
bindResult(UOrmTypeHandler<T4>(r4));
|
||||
}
|
||||
|
||||
template <class T1, class T2, class T3, class T4, class T5>
|
||||
inline void UOrmStatement::into(T1& r1, T2& r2, T3& r3, T4& r4, T5& r5)
|
||||
template <class T1,class T2,class T3,class T4,class T5>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1,T2,T3,T4,T5>(%p,%p,%p,%p,%p)", &r1, &r2, &r3, &r4, &r5)
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&,T3&,T4&,T5&>(%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
|
@ -493,10 +885,10 @@ inline void UOrmStatement::into(T1& r1, T2& r2, T3& r3, T4& r4, T5& r5)
|
|||
bindResult(UOrmTypeHandler<T5>(r5));
|
||||
}
|
||||
|
||||
template <class T1, class T2, class T3, class T4, class T5, class T6>
|
||||
inline void UOrmStatement::into(T1& r1, T2& r2, T3& r3, T4& r4, T5& r5, T6& r6)
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1,T2,T3,T4,T5,T6>(%p,%p,%p,%p,%p,%p)", &r1, &r2, &r3, &r4, &r5, &r6)
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&,T3&,T4&,T5&,T6&>(%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
|
@ -506,10 +898,10 @@ inline void UOrmStatement::into(T1& r1, T2& r2, T3& r3, T4& r4, T5& r5, T6& r6)
|
|||
bindResult(UOrmTypeHandler<T6>(r6));
|
||||
}
|
||||
|
||||
template <class T1, class T2, class T3, class T4, class T5, class T6, class T7>
|
||||
inline void UOrmStatement::into(T1& r1, T2& r2, T3& r3, T4& r4, T5& r5, T6& r6, T7& r7)
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1,T2,T3,T4,T5,T6,T7>(%p,%p,%p,%p,%p,%p,%p)", &r1, &r2, &r3, &r4, &r5, &r6, &r7)
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&,T3&,T4&,T5&,T6&,T7&>(%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
|
@ -520,6 +912,280 @@ inline void UOrmStatement::into(T1& r1, T2& r2, T3& r3, T4& r4, T5& r5, T6& r6,
|
|||
bindResult(UOrmTypeHandler<T7>(r7));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&>(%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
bindResult(UOrmTypeHandler<T3>(r3));
|
||||
bindResult(UOrmTypeHandler<T4>(r4));
|
||||
bindResult(UOrmTypeHandler<T5>(r5));
|
||||
bindResult(UOrmTypeHandler<T6>(r6));
|
||||
bindResult(UOrmTypeHandler<T7>(r7));
|
||||
bindResult(UOrmTypeHandler<T8>(r8));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&>(%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
bindResult(UOrmTypeHandler<T3>(r3));
|
||||
bindResult(UOrmTypeHandler<T4>(r4));
|
||||
bindResult(UOrmTypeHandler<T5>(r5));
|
||||
bindResult(UOrmTypeHandler<T6>(r6));
|
||||
bindResult(UOrmTypeHandler<T7>(r7));
|
||||
bindResult(UOrmTypeHandler<T8>(r8));
|
||||
bindResult(UOrmTypeHandler<T9>(r9));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
bindResult(UOrmTypeHandler<T3>(r3));
|
||||
bindResult(UOrmTypeHandler<T4>(r4));
|
||||
bindResult(UOrmTypeHandler<T5>(r5));
|
||||
bindResult(UOrmTypeHandler<T6>(r6));
|
||||
bindResult(UOrmTypeHandler<T7>(r7));
|
||||
bindResult(UOrmTypeHandler<T8>(r8));
|
||||
bindResult(UOrmTypeHandler<T9>(r9));
|
||||
bindResult(UOrmTypeHandler<T10>(r10));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
bindResult(UOrmTypeHandler<T3>(r3));
|
||||
bindResult(UOrmTypeHandler<T4>(r4));
|
||||
bindResult(UOrmTypeHandler<T5>(r5));
|
||||
bindResult(UOrmTypeHandler<T6>(r6));
|
||||
bindResult(UOrmTypeHandler<T7>(r7));
|
||||
bindResult(UOrmTypeHandler<T8>(r8));
|
||||
bindResult(UOrmTypeHandler<T9>(r9));
|
||||
bindResult(UOrmTypeHandler<T10>(r10));
|
||||
bindResult(UOrmTypeHandler<T11>(r11));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11,&r12)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
bindResult(UOrmTypeHandler<T3>(r3));
|
||||
bindResult(UOrmTypeHandler<T4>(r4));
|
||||
bindResult(UOrmTypeHandler<T5>(r5));
|
||||
bindResult(UOrmTypeHandler<T6>(r6));
|
||||
bindResult(UOrmTypeHandler<T7>(r7));
|
||||
bindResult(UOrmTypeHandler<T8>(r8));
|
||||
bindResult(UOrmTypeHandler<T9>(r9));
|
||||
bindResult(UOrmTypeHandler<T10>(r10));
|
||||
bindResult(UOrmTypeHandler<T11>(r11));
|
||||
bindResult(UOrmTypeHandler<T12>(r12));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11,&r12,&r13)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
bindResult(UOrmTypeHandler<T3>(r3));
|
||||
bindResult(UOrmTypeHandler<T4>(r4));
|
||||
bindResult(UOrmTypeHandler<T5>(r5));
|
||||
bindResult(UOrmTypeHandler<T6>(r6));
|
||||
bindResult(UOrmTypeHandler<T7>(r7));
|
||||
bindResult(UOrmTypeHandler<T8>(r8));
|
||||
bindResult(UOrmTypeHandler<T9>(r9));
|
||||
bindResult(UOrmTypeHandler<T10>(r10));
|
||||
bindResult(UOrmTypeHandler<T11>(r11));
|
||||
bindResult(UOrmTypeHandler<T12>(r12));
|
||||
bindResult(UOrmTypeHandler<T13>(r13));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11,&r12,&r13,&r14)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
bindResult(UOrmTypeHandler<T3>(r3));
|
||||
bindResult(UOrmTypeHandler<T4>(r4));
|
||||
bindResult(UOrmTypeHandler<T5>(r5));
|
||||
bindResult(UOrmTypeHandler<T6>(r6));
|
||||
bindResult(UOrmTypeHandler<T7>(r7));
|
||||
bindResult(UOrmTypeHandler<T8>(r8));
|
||||
bindResult(UOrmTypeHandler<T9>(r9));
|
||||
bindResult(UOrmTypeHandler<T10>(r10));
|
||||
bindResult(UOrmTypeHandler<T11>(r11));
|
||||
bindResult(UOrmTypeHandler<T12>(r12));
|
||||
bindResult(UOrmTypeHandler<T13>(r13));
|
||||
bindResult(UOrmTypeHandler<T14>(r14));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11,&r12,&r13,&r14,&r15)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
bindResult(UOrmTypeHandler<T3>(r3));
|
||||
bindResult(UOrmTypeHandler<T4>(r4));
|
||||
bindResult(UOrmTypeHandler<T5>(r5));
|
||||
bindResult(UOrmTypeHandler<T6>(r6));
|
||||
bindResult(UOrmTypeHandler<T7>(r7));
|
||||
bindResult(UOrmTypeHandler<T8>(r8));
|
||||
bindResult(UOrmTypeHandler<T9>(r9));
|
||||
bindResult(UOrmTypeHandler<T10>(r10));
|
||||
bindResult(UOrmTypeHandler<T11>(r11));
|
||||
bindResult(UOrmTypeHandler<T12>(r12));
|
||||
bindResult(UOrmTypeHandler<T13>(r13));
|
||||
bindResult(UOrmTypeHandler<T14>(r14));
|
||||
bindResult(UOrmTypeHandler<T15>(r15));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11,&r12,&r13,&r14,&r15,&r16)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
bindResult(UOrmTypeHandler<T3>(r3));
|
||||
bindResult(UOrmTypeHandler<T4>(r4));
|
||||
bindResult(UOrmTypeHandler<T5>(r5));
|
||||
bindResult(UOrmTypeHandler<T6>(r6));
|
||||
bindResult(UOrmTypeHandler<T7>(r7));
|
||||
bindResult(UOrmTypeHandler<T8>(r8));
|
||||
bindResult(UOrmTypeHandler<T9>(r9));
|
||||
bindResult(UOrmTypeHandler<T10>(r10));
|
||||
bindResult(UOrmTypeHandler<T11>(r11));
|
||||
bindResult(UOrmTypeHandler<T12>(r12));
|
||||
bindResult(UOrmTypeHandler<T13>(r13));
|
||||
bindResult(UOrmTypeHandler<T14>(r14));
|
||||
bindResult(UOrmTypeHandler<T15>(r15));
|
||||
bindResult(UOrmTypeHandler<T16>(r16));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16,T17& r17)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11,&r12,&r13,&r14,&r15,&r16,&r17)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
bindResult(UOrmTypeHandler<T3>(r3));
|
||||
bindResult(UOrmTypeHandler<T4>(r4));
|
||||
bindResult(UOrmTypeHandler<T5>(r5));
|
||||
bindResult(UOrmTypeHandler<T6>(r6));
|
||||
bindResult(UOrmTypeHandler<T7>(r7));
|
||||
bindResult(UOrmTypeHandler<T8>(r8));
|
||||
bindResult(UOrmTypeHandler<T9>(r9));
|
||||
bindResult(UOrmTypeHandler<T10>(r10));
|
||||
bindResult(UOrmTypeHandler<T11>(r11));
|
||||
bindResult(UOrmTypeHandler<T12>(r12));
|
||||
bindResult(UOrmTypeHandler<T13>(r13));
|
||||
bindResult(UOrmTypeHandler<T14>(r14));
|
||||
bindResult(UOrmTypeHandler<T15>(r15));
|
||||
bindResult(UOrmTypeHandler<T16>(r16));
|
||||
bindResult(UOrmTypeHandler<T17>(r17));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16,T17& r17,T18& r18)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&,T18&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11,&r12,&r13,&r14,&r15,&r16,&r17,&r18)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
bindResult(UOrmTypeHandler<T3>(r3));
|
||||
bindResult(UOrmTypeHandler<T4>(r4));
|
||||
bindResult(UOrmTypeHandler<T5>(r5));
|
||||
bindResult(UOrmTypeHandler<T6>(r6));
|
||||
bindResult(UOrmTypeHandler<T7>(r7));
|
||||
bindResult(UOrmTypeHandler<T8>(r8));
|
||||
bindResult(UOrmTypeHandler<T9>(r9));
|
||||
bindResult(UOrmTypeHandler<T10>(r10));
|
||||
bindResult(UOrmTypeHandler<T11>(r11));
|
||||
bindResult(UOrmTypeHandler<T12>(r12));
|
||||
bindResult(UOrmTypeHandler<T13>(r13));
|
||||
bindResult(UOrmTypeHandler<T14>(r14));
|
||||
bindResult(UOrmTypeHandler<T15>(r15));
|
||||
bindResult(UOrmTypeHandler<T16>(r16));
|
||||
bindResult(UOrmTypeHandler<T17>(r17));
|
||||
bindResult(UOrmTypeHandler<T18>(r18));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16,T17& r17,T18& r18,T19& r19)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&,T18&,T19&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11,&r12,&r13,&r14,&r15,&r16,&r17,&r18,&r19)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
bindResult(UOrmTypeHandler<T3>(r3));
|
||||
bindResult(UOrmTypeHandler<T4>(r4));
|
||||
bindResult(UOrmTypeHandler<T5>(r5));
|
||||
bindResult(UOrmTypeHandler<T6>(r6));
|
||||
bindResult(UOrmTypeHandler<T7>(r7));
|
||||
bindResult(UOrmTypeHandler<T8>(r8));
|
||||
bindResult(UOrmTypeHandler<T9>(r9));
|
||||
bindResult(UOrmTypeHandler<T10>(r10));
|
||||
bindResult(UOrmTypeHandler<T11>(r11));
|
||||
bindResult(UOrmTypeHandler<T12>(r12));
|
||||
bindResult(UOrmTypeHandler<T13>(r13));
|
||||
bindResult(UOrmTypeHandler<T14>(r14));
|
||||
bindResult(UOrmTypeHandler<T15>(r15));
|
||||
bindResult(UOrmTypeHandler<T16>(r16));
|
||||
bindResult(UOrmTypeHandler<T17>(r17));
|
||||
bindResult(UOrmTypeHandler<T18>(r18));
|
||||
bindResult(UOrmTypeHandler<T19>(r19));
|
||||
}
|
||||
|
||||
template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20>
|
||||
inline void UOrmStatement::into(T1& r1,T2& r2,T3& r3,T4& r4,T5& r5,T6& r6,T7& r7,T8& r8,T9& r9,T10& r10,T11& r11,T12& r12,T13& r13,T14& r14,T15& r15,T16& r16,T17& r17,T18& r18,T19& r19,T20& r20)
|
||||
{
|
||||
U_TRACE(0, "UOrmStatement::into<T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&,T18&,T19&,T20&>(%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p)",&r1,&r2,&r3,&r4,&r5,&r6,&r7,&r8,&r9,&r10,&r11,&r12,&r13,&r14,&r15,&r16,&r17,&r18,&r19,&r20)
|
||||
|
||||
bindResult(UOrmTypeHandler<T1>(r1));
|
||||
bindResult(UOrmTypeHandler<T2>(r2));
|
||||
bindResult(UOrmTypeHandler<T3>(r3));
|
||||
bindResult(UOrmTypeHandler<T4>(r4));
|
||||
bindResult(UOrmTypeHandler<T5>(r5));
|
||||
bindResult(UOrmTypeHandler<T6>(r6));
|
||||
bindResult(UOrmTypeHandler<T7>(r7));
|
||||
bindResult(UOrmTypeHandler<T8>(r8));
|
||||
bindResult(UOrmTypeHandler<T9>(r9));
|
||||
bindResult(UOrmTypeHandler<T10>(r10));
|
||||
bindResult(UOrmTypeHandler<T11>(r11));
|
||||
bindResult(UOrmTypeHandler<T12>(r12));
|
||||
bindResult(UOrmTypeHandler<T13>(r13));
|
||||
bindResult(UOrmTypeHandler<T14>(r14));
|
||||
bindResult(UOrmTypeHandler<T15>(r15));
|
||||
bindResult(UOrmTypeHandler<T16>(r16));
|
||||
bindResult(UOrmTypeHandler<T17>(r17));
|
||||
bindResult(UOrmTypeHandler<T18>(r18));
|
||||
bindResult(UOrmTypeHandler<T19>(r19));
|
||||
bindResult(UOrmTypeHandler<T20>(r20));
|
||||
}
|
||||
#endif
|
||||
|
||||
// TEMPLATE SPECIALIZATIONS
|
||||
|
||||
template <> class U_EXPORT UOrmTypeHandler<null> : public UOrmTypeHandler_Base {
|
||||
|
|
|
@ -150,28 +150,28 @@ public:
|
|||
{
|
||||
u_put_unalignedp64(ptr, U_MULTICHAR_CONSTANT64('C','o','n','t','e','n','t','-'));
|
||||
u_put_unalignedp64(ptr+8, U_MULTICHAR_CONSTANT64('L','e','n','g','t','h',':',' '));
|
||||
u_put_unalignedp64(ptr+16, U_MULTICHAR_CONSTANT64('x','x','x','x','\r','\n','C','o'));
|
||||
u_put_unalignedp64(ptr+24, U_MULTICHAR_CONSTANT64('n','t','e','n','t','-','T','y'));
|
||||
u_put_unalignedp64(ptr+32, U_MULTICHAR_CONSTANT64('p','e',':',' ','t','e','x','t'));
|
||||
u_put_unalignedp64(ptr+40, U_MULTICHAR_CONSTANT64('/','h','t','m','l',';',' ','c'));
|
||||
u_put_unalignedp64(ptr+48, U_MULTICHAR_CONSTANT64('h','a','r','s','e','t','=','U'));
|
||||
u_put_unalignedp64(ptr+56, U_MULTICHAR_CONSTANT64('T','F','-','8','\r','\n','\r','\n'));
|
||||
u_put_unalignedp64(ptr+64, U_MULTICHAR_CONSTANT64('<','!','d','o','c','t','y','p'));
|
||||
u_put_unalignedp64(ptr+72, U_MULTICHAR_CONSTANT64('e',' ','h','t','m','l','>','<'));
|
||||
u_put_unalignedp64(ptr+80, U_MULTICHAR_CONSTANT64('h','t','m','l','>','<','h','e'));
|
||||
u_put_unalignedp64(ptr+88, U_MULTICHAR_CONSTANT64('a','d','>','<','t','i','t','l'));
|
||||
u_put_unalignedp64(ptr+96, U_MULTICHAR_CONSTANT64('e','>','F','o','r','t','u','n'));
|
||||
u_put_unalignedp64(ptr+104, U_MULTICHAR_CONSTANT64('e','s','<','/','t','i','t','l'));
|
||||
u_put_unalignedp64(ptr+112, U_MULTICHAR_CONSTANT64('e','>','<','/','h','e','a','d'));
|
||||
u_put_unalignedp64(ptr+120, U_MULTICHAR_CONSTANT64('>','<','b','o','d','y','>','<'));
|
||||
u_put_unalignedp64(ptr+128, U_MULTICHAR_CONSTANT64('t','a','b','l','e','>','<','t'));
|
||||
u_put_unalignedp64(ptr+136, U_MULTICHAR_CONSTANT64('r','>','<','t','h','>','i','d'));
|
||||
u_put_unalignedp64(ptr+144, U_MULTICHAR_CONSTANT64('<','/','t','h','>','<','t','h'));
|
||||
u_put_unalignedp64(ptr+152, U_MULTICHAR_CONSTANT64('>','m','e','s','s','a','g','e'));
|
||||
u_put_unalignedp64(ptr+160, U_MULTICHAR_CONSTANT64('<','/','t','h','>','<','/','t'));
|
||||
u_put_unalignedp16(ptr+168, U_MULTICHAR_CONSTANT16('r','>'));
|
||||
u_put_unalignedp64(ptr+16, U_MULTICHAR_CONSTANT64('x','x','x','x','x','x','x','x'));
|
||||
u_put_unalignedp64(ptr+24, U_MULTICHAR_CONSTANT64('\r','\n','C','o','n','t','e','n'));
|
||||
u_put_unalignedp64(ptr+32, U_MULTICHAR_CONSTANT64('t','-','T','y','p','e',':',' '));
|
||||
u_put_unalignedp64(ptr+40, U_MULTICHAR_CONSTANT64('t','e','x','t','/','h','t','m'));
|
||||
u_put_unalignedp64(ptr+48, U_MULTICHAR_CONSTANT64('l',';',' ','c','h','a','r','s'));
|
||||
u_put_unalignedp64(ptr+56, U_MULTICHAR_CONSTANT64('e','t','=','U','T','F','-','8'));
|
||||
u_put_unalignedp64(ptr+64, U_MULTICHAR_CONSTANT64('\r','\n','\r','\n','<','!','d','o'));
|
||||
u_put_unalignedp64(ptr+72, U_MULTICHAR_CONSTANT64('c','t','y','p','e',' ','h','t'));
|
||||
u_put_unalignedp64(ptr+80, U_MULTICHAR_CONSTANT64('m','l','>','<','h','t','m','l'));
|
||||
u_put_unalignedp64(ptr+88, U_MULTICHAR_CONSTANT64('>','<','h','e','a','d','>','<'));
|
||||
u_put_unalignedp64(ptr+96, U_MULTICHAR_CONSTANT64('t','i','t','l','e','>','F','o'));
|
||||
u_put_unalignedp64(ptr+104, U_MULTICHAR_CONSTANT64('r','t','u','n','e','s','<','/'));
|
||||
u_put_unalignedp64(ptr+112, U_MULTICHAR_CONSTANT64('t','i','t','l','e','>','<','/'));
|
||||
u_put_unalignedp64(ptr+120, U_MULTICHAR_CONSTANT64('h','e','a','d','>','<','b','o'));
|
||||
u_put_unalignedp64(ptr+128, U_MULTICHAR_CONSTANT64('d','y','>','<','t','a','b','l'));
|
||||
u_put_unalignedp64(ptr+136, U_MULTICHAR_CONSTANT64('e','>','<','t','r','>','<','t'));
|
||||
u_put_unalignedp64(ptr+144, U_MULTICHAR_CONSTANT64('h','>','i','d','<','/','t','h'));
|
||||
u_put_unalignedp64(ptr+152, U_MULTICHAR_CONSTANT64('>','<','t','h','>','m','e','s'));
|
||||
u_put_unalignedp64(ptr+160, U_MULTICHAR_CONSTANT64('s','a','g','e','<','/','t','h'));
|
||||
u_put_unalignedp64(ptr+168, U_MULTICHAR_CONSTANT64('>','<','/','t','r','>','\0','\0'));
|
||||
|
||||
pwbuffer = ptr + U_CONSTANT_SIZE("Content-Length: xxxx\r\nContent-Type: text/html; charset=UTF-8\r\n\r\n"
|
||||
pwbuffer = ptr + U_CONSTANT_SIZE("Content-Length: xxxxxxxx\r\nContent-Type: text/html; charset=UTF-8\r\n\r\n"
|
||||
"<!doctype html><html><head><title>Fortunes</title></head><body><table><tr><th>id</th><th>message</th></tr>");
|
||||
}
|
||||
|
||||
|
@ -221,14 +221,14 @@ public:
|
|||
|
||||
content_length += (ptr - pwbuffer) + U_CONSTANT_SIZE("</table></body></html>");
|
||||
|
||||
U_INTERNAL_ASSERT_EQUALS(content_length, 1227)
|
||||
|
||||
ptr = pwbuffer - U_CONSTANT_SIZE("xxxx\r\nContent-Type: text/html; charset=UTF-8\r\n\r\n"
|
||||
ptr = pwbuffer - U_CONSTANT_SIZE("xxxxxxxx\r\nContent-Type: text/html; charset=UTF-8\r\n\r\n"
|
||||
"<!doctype html><html><head><title>Fortunes</title></head><body><table><tr><th>id</th><th>message</th></tr>");
|
||||
|
||||
u_put_unalignedp64(ptr, U_MULTICHAR_CONSTANT64(' ',' ',' ',' ',' ',' ',' ',' '));
|
||||
|
||||
(void) u_num2str32(content_length, ptr);
|
||||
|
||||
UClientImage_Base::wbuffer->size_adjust_constant(U_CONSTANT_SIZE("Content-Length: xxxx\r\nContent-Type: text/html; charset=UTF-8\r\n\r\n") + content_length);
|
||||
UClientImage_Base::wbuffer->size_adjust_constant(U_CONSTANT_SIZE("Content-Length: xxxxxxxx\r\nContent-Type: text/html; charset=UTF-8\r\n\r\n") + content_length);
|
||||
}
|
||||
|
||||
static void doQuery(vPF handlerQuery)
|
||||
|
|
|
@ -1 +1 @@
|
|||
06E9
|
||||
06F6
|
||||
|
|
|
@ -150,28 +150,28 @@ public:
|
|||
{
|
||||
u_put_unalignedp64(ptr, U_MULTICHAR_CONSTANT64('C','o','n','t','e','n','t','-'));
|
||||
u_put_unalignedp64(ptr+8, U_MULTICHAR_CONSTANT64('L','e','n','g','t','h',':',' '));
|
||||
u_put_unalignedp64(ptr+16, U_MULTICHAR_CONSTANT64('x','x','x','x','\r','\n','C','o'));
|
||||
u_put_unalignedp64(ptr+24, U_MULTICHAR_CONSTANT64('n','t','e','n','t','-','T','y'));
|
||||
u_put_unalignedp64(ptr+32, U_MULTICHAR_CONSTANT64('p','e',':',' ','t','e','x','t'));
|
||||
u_put_unalignedp64(ptr+40, U_MULTICHAR_CONSTANT64('/','h','t','m','l',';',' ','c'));
|
||||
u_put_unalignedp64(ptr+48, U_MULTICHAR_CONSTANT64('h','a','r','s','e','t','=','U'));
|
||||
u_put_unalignedp64(ptr+56, U_MULTICHAR_CONSTANT64('T','F','-','8','\r','\n','\r','\n'));
|
||||
u_put_unalignedp64(ptr+64, U_MULTICHAR_CONSTANT64('<','!','d','o','c','t','y','p'));
|
||||
u_put_unalignedp64(ptr+72, U_MULTICHAR_CONSTANT64('e',' ','h','t','m','l','>','<'));
|
||||
u_put_unalignedp64(ptr+80, U_MULTICHAR_CONSTANT64('h','t','m','l','>','<','h','e'));
|
||||
u_put_unalignedp64(ptr+88, U_MULTICHAR_CONSTANT64('a','d','>','<','t','i','t','l'));
|
||||
u_put_unalignedp64(ptr+96, U_MULTICHAR_CONSTANT64('e','>','F','o','r','t','u','n'));
|
||||
u_put_unalignedp64(ptr+104, U_MULTICHAR_CONSTANT64('e','s','<','/','t','i','t','l'));
|
||||
u_put_unalignedp64(ptr+112, U_MULTICHAR_CONSTANT64('e','>','<','/','h','e','a','d'));
|
||||
u_put_unalignedp64(ptr+120, U_MULTICHAR_CONSTANT64('>','<','b','o','d','y','>','<'));
|
||||
u_put_unalignedp64(ptr+128, U_MULTICHAR_CONSTANT64('t','a','b','l','e','>','<','t'));
|
||||
u_put_unalignedp64(ptr+136, U_MULTICHAR_CONSTANT64('r','>','<','t','h','>','i','d'));
|
||||
u_put_unalignedp64(ptr+144, U_MULTICHAR_CONSTANT64('<','/','t','h','>','<','t','h'));
|
||||
u_put_unalignedp64(ptr+152, U_MULTICHAR_CONSTANT64('>','m','e','s','s','a','g','e'));
|
||||
u_put_unalignedp64(ptr+160, U_MULTICHAR_CONSTANT64('<','/','t','h','>','<','/','t'));
|
||||
u_put_unalignedp16(ptr+168, U_MULTICHAR_CONSTANT16('r','>'));
|
||||
u_put_unalignedp64(ptr+16, U_MULTICHAR_CONSTANT64('x','x','x','x','x','x','x','x'));
|
||||
u_put_unalignedp64(ptr+24, U_MULTICHAR_CONSTANT64('\r','\n','C','o','n','t','e','n'));
|
||||
u_put_unalignedp64(ptr+32, U_MULTICHAR_CONSTANT64('t','-','T','y','p','e',':',' '));
|
||||
u_put_unalignedp64(ptr+40, U_MULTICHAR_CONSTANT64('t','e','x','t','/','h','t','m'));
|
||||
u_put_unalignedp64(ptr+48, U_MULTICHAR_CONSTANT64('l',';',' ','c','h','a','r','s'));
|
||||
u_put_unalignedp64(ptr+56, U_MULTICHAR_CONSTANT64('e','t','=','U','T','F','-','8'));
|
||||
u_put_unalignedp64(ptr+64, U_MULTICHAR_CONSTANT64('\r','\n','\r','\n','<','!','d','o'));
|
||||
u_put_unalignedp64(ptr+72, U_MULTICHAR_CONSTANT64('c','t','y','p','e',' ','h','t'));
|
||||
u_put_unalignedp64(ptr+80, U_MULTICHAR_CONSTANT64('m','l','>','<','h','t','m','l'));
|
||||
u_put_unalignedp64(ptr+88, U_MULTICHAR_CONSTANT64('>','<','h','e','a','d','>','<'));
|
||||
u_put_unalignedp64(ptr+96, U_MULTICHAR_CONSTANT64('t','i','t','l','e','>','F','o'));
|
||||
u_put_unalignedp64(ptr+104, U_MULTICHAR_CONSTANT64('r','t','u','n','e','s','<','/'));
|
||||
u_put_unalignedp64(ptr+112, U_MULTICHAR_CONSTANT64('t','i','t','l','e','>','<','/'));
|
||||
u_put_unalignedp64(ptr+120, U_MULTICHAR_CONSTANT64('h','e','a','d','>','<','b','o'));
|
||||
u_put_unalignedp64(ptr+128, U_MULTICHAR_CONSTANT64('d','y','>','<','t','a','b','l'));
|
||||
u_put_unalignedp64(ptr+136, U_MULTICHAR_CONSTANT64('e','>','<','t','r','>','<','t'));
|
||||
u_put_unalignedp64(ptr+144, U_MULTICHAR_CONSTANT64('h','>','i','d','<','/','t','h'));
|
||||
u_put_unalignedp64(ptr+152, U_MULTICHAR_CONSTANT64('>','<','t','h','>','m','e','s'));
|
||||
u_put_unalignedp64(ptr+160, U_MULTICHAR_CONSTANT64('s','a','g','e','<','/','t','h'));
|
||||
u_put_unalignedp64(ptr+168, U_MULTICHAR_CONSTANT64('>','<','/','t','r','>','\0','\0'));
|
||||
|
||||
pwbuffer = ptr + U_CONSTANT_SIZE("Content-Length: xxxx\r\nContent-Type: text/html; charset=UTF-8\r\n\r\n"
|
||||
pwbuffer = ptr + U_CONSTANT_SIZE("Content-Length: xxxxxxxx\r\nContent-Type: text/html; charset=UTF-8\r\n\r\n"
|
||||
"<!doctype html><html><head><title>Fortunes</title></head><body><table><tr><th>id</th><th>message</th></tr>");
|
||||
}
|
||||
|
||||
|
@ -221,14 +221,14 @@ public:
|
|||
|
||||
content_length += (ptr - pwbuffer) + U_CONSTANT_SIZE("</table></body></html>");
|
||||
|
||||
U_INTERNAL_ASSERT_EQUALS(content_length, 1227)
|
||||
|
||||
ptr = pwbuffer - U_CONSTANT_SIZE("xxxx\r\nContent-Type: text/html; charset=UTF-8\r\n\r\n"
|
||||
ptr = pwbuffer - U_CONSTANT_SIZE("xxxxxxxx\r\nContent-Type: text/html; charset=UTF-8\r\n\r\n"
|
||||
"<!doctype html><html><head><title>Fortunes</title></head><body><table><tr><th>id</th><th>message</th></tr>");
|
||||
|
||||
u_put_unalignedp64(ptr, U_MULTICHAR_CONSTANT64(' ',' ',' ',' ',' ',' ',' ',' '));
|
||||
|
||||
(void) u_num2str32(content_length, ptr);
|
||||
|
||||
UClientImage_Base::wbuffer->size_adjust_constant(U_CONSTANT_SIZE("Content-Length: xxxx\r\nContent-Type: text/html; charset=UTF-8\r\n\r\n") + content_length);
|
||||
UClientImage_Base::wbuffer->size_adjust_constant(U_CONSTANT_SIZE("Content-Length: xxxxxxxx\r\nContent-Type: text/html; charset=UTF-8\r\n\r\n") + content_length);
|
||||
}
|
||||
|
||||
static void doQuery(vPF handlerQuery)
|
||||
|
|
Loading…
Reference in New Issue
Block a user