2015-02-04 13:44:37 +03:00
/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
/***
This file is part of systemd .
Copyright 2015 Tom Gundersen
systemd is free software ; you can redistribute it and / or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation ; either version 2.1 of the License , or
( at your option ) any later version .
systemd is distributed in the hope that it will be useful , but
WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU
Lesser General Public License for more details .
You should have received a copy of the GNU Lesser General Public License
along with systemd ; If not , see < http : //www.gnu.org/licenses/>.
* * */
# include "bus-util.h"
# include "networkd.h"
static BUS_DEFINE_PROPERTY_GET_ENUM ( property_get_operational_state , link_operstate , LinkOperationalState ) ;
const sd_bus_vtable manager_vtable [ ] = {
SD_BUS_VTABLE_START ( 0 ) ,
SD_BUS_PROPERTY ( " OperationalState " , " s " , property_get_operational_state , offsetof ( Manager , operational_state ) , SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE ) ,
SD_BUS_VTABLE_END
} ;
int manager_send_changed ( Manager * manager , const char * property , . . . ) {
char * * l ;
assert ( manager ) ;
2015-02-05 19:59:40 +03:00
if ( ! manager - > bus )
return 0 ; /* replace by assert when we have kdbus */
2015-02-04 13:44:37 +03:00
l = strv_from_stdarg_alloca ( property ) ;
return sd_bus_emit_properties_changed_strv (
manager - > bus ,
" /org/freedesktop/network1 " ,
" org.freedesktop.network1.Manager " ,
l ) ;
}