예제 #1
0
VMUINT8 gsm_sms_send(void* userdata)
{
	char* to = (char*)userdata;
	strcpy(g_sms_send_data.content, to);

	VMWCHAR number[42];
    VMWCHAR content[151];

    VMUINT8 res;

	vm_chset_ascii_to_ucs2(content, 151*2, g_sms_send_data.content);

	vm_chset_ascii_to_ucs2(number, 42*2, g_sms_send_data.number);

	res = vm_gsm_sms_send(number, content, sms_send_callback, NULL);

    if(res == 0)
    {
    	g_sms_send_data.result = TRUE;
    	vm_log_debug("sms send success!");
        return TRUE;
    }
    else
    {
		g_sms_send_data.result = FALSE;
		vm_log_debug("sms send fail!");
		return FALSE;
    }
}
예제 #2
0
int gsm_text(lua_State *L)
{
    VMWCHAR number[42];
    VMWCHAR content[100];
    const char *phone_number = luaL_checkstring(L, 1);
    const char *message = luaL_checkstring(L, 2);

    vm_chset_ascii_to_ucs2(content, 100*2, message);
	vm_chset_ascii_to_ucs2(number, 42*2, phone_number);


    lua_pushnumber(L, vm_gsm_sms_send(number, content, _gsm_text_callback, NULL));

    return 1;
}
예제 #3
0
static v7_val_t gsm_text(struct v7* v7)
{
    VMWCHAR number[42];
    VMWCHAR content[100];
    v7_val_t numberv = v7_arg(v7, 0);
    v7_val_t messagev = v7_arg(v7, 1);
    const char* phone_number;
    const char* message;
    size_t len, message_len;

    if(!v7_is_string(numberv) || !v7_is_string(messagev)) {
        return v7_create_undefined();
    }

    phone_number = v7_to_string(v7, &numberv, &len);
    message = v7_to_string(v7, &messagev, &message_len);

    vm_chset_ascii_to_ucs2(content, 100 * 2, message);
    vm_chset_ascii_to_ucs2(number, 42 * 2, phone_number);

    return v7_create_number(vm_gsm_sms_send(number, content, _gsm_text_callback, NULL));
}