本文整理汇总了C++中dbus_timeout_get_enabled函数的典型用法代码示例。如果您正苦于以下问题:C++ dbus_timeout_get_enabled函数的具体用法?C++ dbus_timeout_get_enabled怎么用?C++ dbus_timeout_get_enabled使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了dbus_timeout_get_enabled函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: timeout_toggle
static void
timeout_toggle(DBusTimeout *timeout, void *data)
{
struct timeout *t;
(void)data;
lem_debug("timeout = %p, interval = %d, enabled = %s",
(void *)timeout,
dbus_timeout_get_interval(timeout),
dbus_timeout_get_enabled(timeout) ? "true" : "false");
t = dbus_timeout_get_data(timeout);
if (dbus_timeout_get_enabled(timeout)) {
ev_tstamp interval =
((ev_tstamp)dbus_timeout_get_interval(timeout))/1000.0;
if (ev_is_active(&t->ev))
ev_timer_stop(EV_G_ &t->ev);
ev_timer_set(&t->ev, interval, interval);
ev_timer_start(EV_G_ &t->ev);
} else
ev_timer_stop(EV_G_ &t->ev);
}
开发者ID:dtaht,项目名称:lem-dbus,代码行数:25,代码来源:dbus.c
示例2: timeout_toggled
static void timeout_toggled( DBusTimeout *p_timeout, void *p_data )
{
intf_thread_t *p_intf = (intf_thread_t*) p_data;
if( dbus_timeout_get_enabled( p_timeout ) )
wakeup_main_loop( p_intf );
}
开发者ID:RicoP,项目名称:vlcfork,代码行数:7,代码来源:dbus.c
示例3: addTimeout
static dbus_bool_t addTimeout(DBusTimeout *timeout, void *data)
{
(void)data;
dbus_bool_t ret = FALSE;
if(ARRAY_SIZE(gPollInfo.fds) > (unsigned int)(gPollInfo.nfds))
{
const int interval = dbus_timeout_get_interval(timeout);
if ((0<interval)&&(TRUE==dbus_timeout_get_enabled(timeout)))
{
const int tfd = timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC);
if (-1!=tfd)
{
const struct itimerspec its = { .it_value= {interval/1000, interval%1000} };
if (-1!=timerfd_settime(tfd, 0, &its, NULL))
{
tObjectEntry * const pEntry = &gPollInfo.objects[gPollInfo.nfds];
pEntry->objtype = OT_TIMEOUT;
pEntry->timeout = timeout;
gPollInfo.fds[gPollInfo.nfds].fd = tfd;
gPollInfo.fds[gPollInfo.nfds].events |= POLLIN;
++gPollInfo.nfds;
ret = TRUE;
}
else
{
DLT_LOG(gPclDLTContext, DLT_LOG_ERROR, DLT_STRING("addTimeout - _settime() failed"), DLT_STRING(strerror(errno)) );
}
}
else
{
DLT_LOG(gPclDLTContext, DLT_LOG_ERROR, DLT_STRING("addTimeout - _create() failed"), DLT_STRING(strerror(errno)) );
}
}
}
开发者ID:GENIVI,项目名称:persistence-client-library,代码行数:35,代码来源:persistence_client_library_dbus_service.c
示例4: bus_loop_dispatch
int bus_loop_dispatch(int fd) {
int n;
struct epoll_event event;
EpollData *d;
assert(fd >= 0);
zero(event);
n = epoll_wait(fd, &event, 1, 0);
if (n < 0)
return errno == EAGAIN || errno == EINTR ? 0 : -errno;
assert_se(d = event.data.ptr);
if (d->is_timeout) {
DBusTimeout *t = d->object;
if (dbus_timeout_get_enabled(t))
dbus_timeout_handle(t);
} else {
DBusWatch *w = d->object;
if (dbus_watch_get_enabled(w))
dbus_watch_handle(w, bus_events_to_flags(event.events));
}
return 0;
}
开发者ID:olegchir,项目名称:systemd,代码行数:29,代码来源:dbus-loop.c
示例5: UpdateTimeouts
/**
* UpdateTimeouts() updates the remaining time for each timeout and
* returns how much time is left until the next timeout.
*
* This function must be called with p_sys->lock locked
*
* @return int The time remaining until the next timeout, in milliseconds
* or -1 if there are no timeouts
*
* @param intf_thread_t *p_intf This interface thread's state
* @param mtime_t i_loop_interval The time which has elapsed since the last
* call to this function
*/
static int UpdateTimeouts( intf_thread_t *p_intf, mtime_t i_loop_interval )
{
intf_sys_t *p_sys = p_intf->p_sys;
mtime_t i_next_timeout = LAST_MDATE;
unsigned int i_timeouts = vlc_array_count( p_sys->p_timeouts );
if( 0 == i_timeouts )
return -1;
for( unsigned int i = 0; i < i_timeouts; i++ )
{
timeout_info_t *p_info = NULL;
DBusTimeout *p_timeout = NULL;
mtime_t i_interval = 0;
p_timeout = vlc_array_item_at_index( p_sys->p_timeouts, i );
i_interval = dbus_timeout_get_interval( p_timeout ) * 1000; /* µs */
p_info = (timeout_info_t*) dbus_timeout_get_data( p_timeout );
p_info->i_remaining -= __MAX( 0, i_loop_interval ) % i_interval;
if( !dbus_timeout_get_enabled( p_timeout ) )
continue;
/* The correct poll timeout value is the shortest one
* in the dbus timeouts list */
i_next_timeout = __MIN( i_next_timeout,
__MAX( 0, p_info->i_remaining ) );
}
/* next timeout in milliseconds */
return i_next_timeout / 1000;
}
开发者ID:iamnpc,项目名称:myfaplayer,代码行数:46,代码来源:dbus.c
示例6: efl_dbus_timeout_toggled
static void efl_dbus_timeout_toggled(DBusTimeout *timeout, void *data)
{
if (dbus_timeout_get_enabled(timeout) == TRUE)
efl_dbus_timeout_add(timeout, data);
else
efl_dbus_timeout_remove(timeout, data);
}
开发者ID:connectivity,项目名称:connline,代码行数:7,代码来源:efl.c
示例7: timeout_toggled
static void timeout_toggled(DBusTimeout *timeout, void *data)
{
if (dbus_timeout_get_enabled(timeout))
add_timeout(timeout, data);
else
remove_timeout(timeout, data);
}
开发者ID:Andrewas,项目名称:android_hardware_semc,代码行数:7,代码来源:mainloop.c
示例8: next_timeout
/**
* Computes the time until the next timeout expiration.
* @note Interface lock must be held.
* @return The time in milliseconds until the next expiration,
* or -1 if there are no pending timeouts.
*/
static int next_timeout(intf_thread_t *intf)
{
intf_sys_t *sys = intf->p_sys;
mtime_t next_timeout = LAST_MDATE;
unsigned count = vlc_array_count(sys->p_timeouts);
for (unsigned i = 0; i < count; i++)
{
DBusTimeout *to = vlc_array_item_at_index(sys->p_timeouts, i);
if (!dbus_timeout_get_enabled(to))
continue;
mtime_t *expiry = dbus_timeout_get_data(to);
if (next_timeout > *expiry)
next_timeout = *expiry;
}
if (next_timeout >= LAST_MDATE)
return -1;
next_timeout /= 1000;
if (next_timeout > INT_MAX)
return INT_MAX;
return (int)next_timeout;
}
开发者ID:etix,项目名称:vlc,代码行数:35,代码来源:dbus.c
示例9: add_timeout
static dbus_bool_t add_timeout(DBusTimeout *dbus_timeout, void *userdata) {
TimeoutData *timeout;
ConnectionData *d = userdata;
struct timeval tv;
dbus_bool_t b;
assert(dbus_timeout);
assert(d);
if (!(timeout = avahi_new(TimeoutData, 1)))
return FALSE;
timeout->dbus_timeout = dbus_timeout;
timeout->poll_api = d->poll_api;
timeout->ref = 1;
if ((b = dbus_timeout_get_enabled(dbus_timeout)))
avahi_elapse_time(&tv, dbus_timeout_get_interval(dbus_timeout), 0);
if (!(timeout->avahi_timeout = d->poll_api->timeout_new(
d->poll_api,
b ? &tv : NULL,
timeout_callback,
timeout))) {
avahi_free(timeout);
return FALSE;
}
dbus_timeout_set_data(dbus_timeout, timeout, (DBusFreeFunction) timeout_data_unref);
return TRUE;
}
开发者ID:Antares84,项目名称:asuswrt-merlin,代码行数:31,代码来源:dbus-watch-glue.c
示例10: add_timeout
static dbus_bool_t add_timeout(DBusTimeout *t, void *data)
{
if (!dbus_timeout_get_enabled(t))
return TRUE;
int ms = dbus_timeout_get_interval(t);
if ( ms < 0 || ms > TIMEOUT_MAX_MS ) {
ms = TIMEOUT_MAX_MS;
if ( ms < 0 || ms > INT_MAX/2-1 ) {
ms = INT_MAX/2-1;
}
}
if ( ms < 1 ) {
ms = 1;
}
struct timeval tnow = {0,0};
gettimeofday(&tnow, NULL);
unsigned int tnowms = TIME_TV_TO_MS(tnow);
printf(" TIMEOUT: add dbus timeout %p value %u ms\n", t, ms);
watched_timeout_start_tv = tnow;
watched_timeout_setv = ms;
watched_timeout_lastv = tnowms;
watched_timeout = t;
watched_chgevt_send( CHGEVT_ADD_TIMEOUT );
return TRUE;
}
开发者ID:minghuadev,项目名称:minecraft-tests,代码行数:30,代码来源:dbus-select.c
示例11: edbus_toggle_timeout
static void edbus_toggle_timeout(DBusTimeout* timeout, void* data) {
E_ASSERT(timeout != NULL);
if(dbus_timeout_get_enabled(timeout))
edbus_add_timeout(timeout, data);
else
edbus_remove_timeout(timeout, data);
}
开发者ID:edeproject,项目名称:svn,代码行数:8,代码来源:EdbusConnection.cpp
示例12: recalculateDueTime
void DBusTimeout::recalculateDueTime() {
if(dbus_timeout_get_enabled(libdbusTimeout_)) {
unsigned int intervalInMs = dbus_timeout_get_interval(libdbusTimeout_);
dueTimeInMs_ = getCurrentTimeInMs() + intervalInMs;
} else {
dueTimeInMs_ = TIMEOUT_INFINITE;
}
}
开发者ID:Pelagicore,项目名称:common-api-dbus-runtime,代码行数:8,代码来源:DBusMainLoopContext.cpp
示例13: adjustTimeout
//utility
int adjustTimeout(DBusTimeout* timeout, wl_event_source* source)
{
unsigned long iv = 0;
if (dbus_timeout_get_enabled(timeout))
iv = dbus_timeout_get_interval(timeout);
return wl_event_source_timer_update(source, iv);
}
开发者ID:nyorain,项目名称:iro,代码行数:9,代码来源:dbus.cpp
示例14: weston_dbus_dispatch_timeout
static int weston_dbus_dispatch_timeout(void *data)
{
DBusTimeout *timeout = data;
if (dbus_timeout_get_enabled(timeout))
dbus_timeout_handle(timeout);
return 0;
}
开发者ID:ChristophHaag,项目名称:weston,代码行数:9,代码来源:dbus.c
示例15: dbusAddTimeout
dbus_bool_t dbusAddTimeout( DBusTimeout *timeout, void *data )
{
if ( !dbus_timeout_get_enabled(timeout) )
return true;
Integrator *itg = static_cast<Integrator*>( data );
itg->addTimeout( timeout );
return true;
}
开发者ID:freedesktop-unofficial-mirror,项目名称:dbus__dbus-qt3,代码行数:9,代码来源:integrator.cpp
示例16: timeout_toggled
static void
timeout_toggled (DBusTimeout * timeout, void *data) {
/* Simply add/remove the timeout completely */
if (dbus_timeout_get_enabled (timeout)) {
timeout_add (timeout, data);
} else {
timeout_remove (timeout, data);
}
}
开发者ID:majenkotech,项目名称:pcb,代码行数:9,代码来源:dbus-pcbmain.c
示例17: add_timeout
static dbus_bool_t add_timeout(DBusTimeout *timeout, void *data)
{
if (!dbus_timeout_get_enabled(timeout))
return TRUE;
connection_setup_add_timeout(data, timeout);
return TRUE;
}
开发者ID:ebichu,项目名称:dd-wrt,代码行数:9,代码来源:ctrl_iface_dbus.c
示例18: dbusToggleTimeout
void dbusToggleTimeout( DBusTimeout *timeout, void *data )
{
Integrator *itg = static_cast<Integrator*>( data );
if ( dbus_timeout_get_enabled( timeout ) )
itg->addTimeout( timeout );
else
itg->removeTimeout( timeout );
}
开发者ID:freedesktop-unofficial-mirror,项目名称:dbus__dbus-qt3,代码行数:9,代码来源:integrator.cpp
示例19:
int DBusHandler::Callbacks::dispatchTimeout(void* data)
{
DBusTimeout* timeout = (DBusTimeout*) data;
if (dbus_timeout_get_enabled(timeout))
dbus_timeout_handle(timeout);
return 0;
}
开发者ID:nyorain,项目名称:iro,代码行数:9,代码来源:dbus.cpp
示例20: weston_dbus_adjust_timeout
static int weston_dbus_adjust_timeout(DBusTimeout *timeout,
struct wl_event_source *s)
{
int64_t t = 0;
if (dbus_timeout_get_enabled(timeout))
t = dbus_timeout_get_interval(timeout);
return wl_event_source_timer_update(s, t);
}
开发者ID:ChristophHaag,项目名称:weston,代码行数:10,代码来源:dbus.c
注:本文中的dbus_timeout_get_enabled函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论