added Sttp::sendCmdV()
This commit is contained in:
parent
301b56b3eb
commit
04ede03b37
@ -32,6 +32,7 @@
|
||||
#include <qse/cmn/Mmged.hpp>
|
||||
#include <qse/cmn/ErrorGrab.hpp>
|
||||
#include <qse/sttp/SttpCmd.hpp>
|
||||
#include <stdarg.h>
|
||||
|
||||
QSE_BEGIN_NAMESPACE(QSE)
|
||||
|
||||
@ -59,6 +60,10 @@ public:
|
||||
int sendCmdL (const qse_mchar_t* name, qse_size_t nargs, ...);
|
||||
int sendCmdL (const qse_wchar_t* name, qse_size_t nargs, ...);
|
||||
|
||||
int sendCmdV (const qse_mchar_t* name, qse_size_t nargs, va_list ap);
|
||||
int sendCmdV (const qse_wchar_t* name, qse_size_t nargs, va_list ap);
|
||||
// TODO: sendCmdLV
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
virtual int handle_command (const SttpCmd& cmd)
|
||||
|
@ -230,7 +230,6 @@ int qse_mtx_lock (qse_mtx_t* mtx, const qse_ntime_t* waiting_time)
|
||||
{
|
||||
#endif
|
||||
if (pthread_mutex_lock((pthread_mutex_t*)&mtx->hnd) != 0) return -1;
|
||||
|
||||
#if defined(HAVE_PTHREAD_MUTEX_TIMEDLOCK)
|
||||
}
|
||||
#endif
|
||||
|
@ -679,59 +679,32 @@ int Sttp::write_char (qse_wchar_t c)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int Sttp::sendCmd (const qse_mchar_t* name, qse_size_t nargs = 0, ...)
|
||||
{
|
||||
if (name[0] == '\0') return 0; // don't send a null command
|
||||
if (this->beginWrite(name) <= -1) return -1;
|
||||
|
||||
if (nargs > 0)
|
||||
int Sttp::sendCmd (const qse_mchar_t* name, qse_size_t nargs, ...)
|
||||
{
|
||||
int n;
|
||||
|
||||
va_list ap;
|
||||
va_start (ap, nargs);
|
||||
|
||||
for (qse_size_t i = 1; i <= nargs; i++)
|
||||
{
|
||||
qse_mchar_t* p = va_arg(ap, qse_mchar_t*);
|
||||
if (this->writeStringArg(p) <= -1)
|
||||
{
|
||||
va_end (ap);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
n = this->sendCmd(name, nargs, ap);
|
||||
va_end (ap);
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
if (this->endWrite() <= -1) return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int Sttp::sendCmd (const qse_wchar_t* name, qse_size_t nargs = 0, ...)
|
||||
int Sttp::sendCmd (const qse_wchar_t* name, qse_size_t nargs, ...)
|
||||
{
|
||||
if (name[0] == '\0') return 0; // don't send a null command
|
||||
if (this->beginWrite(name) <= -1) return -1;
|
||||
int n;
|
||||
|
||||
if (nargs > 0)
|
||||
{
|
||||
va_list ap;
|
||||
va_start (ap, nargs);
|
||||
|
||||
for (qse_size_t i = 1; i <= nargs; i++)
|
||||
{
|
||||
qse_wchar_t* p = va_arg(ap, qse_wchar_t*);
|
||||
if (this->writeStringArg(p) <= -1)
|
||||
{
|
||||
va_end (ap);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
n = this->sendCmd(name, nargs, ap);
|
||||
va_end (ap);
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
if (this->endWrite() <= -1) return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int Sttp::sendCmdL (const qse_mchar_t* name, qse_size_t nargs = 0, ...)
|
||||
int Sttp::sendCmdL (const qse_mchar_t* name, qse_size_t nargs, ...)
|
||||
{
|
||||
if (name[0] == '\0') return 0; // don't send a null command
|
||||
if (this->beginWrite(name) <= -1) return -1;
|
||||
@ -758,7 +731,7 @@ int Sttp::sendCmdL (const qse_mchar_t* name, qse_size_t nargs = 0, ...)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int Sttp::sendCmdL (const qse_wchar_t* name, qse_size_t nargs = 0, ...)
|
||||
int Sttp::sendCmdL (const qse_wchar_t* name, qse_size_t nargs, ...)
|
||||
{
|
||||
if (name[0] == '\0') return 0; // don't send a null command
|
||||
if (this->beginWrite(name) <= -1) return -1;
|
||||
@ -785,4 +758,49 @@ int Sttp::sendCmdL (const qse_wchar_t* name, qse_size_t nargs = 0, ...)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int Sttp::sendCmdV (const qse_mchar_t* name, qse_size_t nargs, va_list ap)
|
||||
{
|
||||
if (name[0] == '\0') return 0; // don't send a null command
|
||||
if (this->beginWrite(name) <= -1) return -1;
|
||||
|
||||
if (nargs > 0)
|
||||
{
|
||||
for (qse_size_t i = 1; i <= nargs; i++)
|
||||
{
|
||||
qse_mchar_t* p = va_arg(ap, qse_mchar_t*);
|
||||
if (this->writeStringArg(p) <= -1)
|
||||
{
|
||||
va_end (ap);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (this->endWrite() <= -1) return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int Sttp::sendCmdV (const qse_wchar_t* name, qse_size_t nargs, va_list ap)
|
||||
{
|
||||
if (name[0] == '\0') return 0; // don't send a null command
|
||||
if (this->beginWrite(name) <= -1) return -1;
|
||||
|
||||
if (nargs > 0)
|
||||
{
|
||||
for (qse_size_t i = 1; i <= nargs; i++)
|
||||
{
|
||||
qse_wchar_t* p = va_arg(ap, qse_wchar_t*);
|
||||
if (this->writeStringArg(p) <= -1)
|
||||
{
|
||||
va_end (ap);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (this->endWrite() <= -1) return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
QSE_END_NAMESPACE(QSE)
|
||||
|
Loading…
Reference in New Issue
Block a user