1 /* 2 * Copyright (c) 2020-2021 Huawei Device Co., Ltd. 3 * 4 * HDF is dual licensed: you can use it either under the terms of 5 * the GPL, or the BSD license, at your option. 6 * See the LICENSE file in the root of this repository for complete details. 7 */ 8 9 #ifndef DEVSVC_MANAGER_IF_H 10 #define DEVSVC_MANAGER_IF_H 11 12 #include "hdf_device_desc.h" 13 #include "hdf_object.h" 14 15 struct IDevSvcManager { 16 struct HdfObject object; 17 int (*AddService)(struct IDevSvcManager *, const char *, struct HdfDeviceObject *); 18 int (*SubscribeService)(struct IDevSvcManager *, const char *, struct SubscriberCallback); 19 int (*UnsubscribeService)(struct IDevSvcManager *, const char *); 20 struct HdfObject *(*GetService)(struct IDevSvcManager *, const char *); 21 struct HdfDeviceObject *(*GetObject)(struct IDevSvcManager *, const char *); 22 void (*RemoveService)(struct IDevSvcManager *, const char *); 23 }; 24 25 #endif /* DEVSVC_MANAGER_IF_H */ 26