D-Bus ObjectManager 인터페이스는 특정 서비스의 전체 객체 계층에 액세스하는 방법을 제공한다. 인터페이스 추가 및 제거를 위한 신호와 모든 인터페이스의 속성뿐만 아니라 개체의 인터페이스등 가능한 모든 개체를 반환하는 GetManagedObjects 메서드가 포함되어 있다. 예를 들어 BlueZ 5 서비스의 루트 ("/") 경로에서 ObjectManager 인터페이스를 찾을 수 있다. 객체 관리 및 검색의 대부분의 작업은 ObjectManager를 통해 수행 할 수 있다. 응용 프로그램은 ObjectManager.GetManagedObjects 메서드를 호출하여 사용 가능한 어댑터를 검색하고 "org.bluez.Adapter1"와 같은 인터페이스를 사용하여 반환된 객체를 찾는다. 응용 프로그램에서는 GetManagedObjects 응답에서 첫 번째 어댑터를 선택하기만 하면 된다.
다음은 bluez 5의 GetManagedObjects 메서드 응답에 대한 일부분이다.
{'/org/bluez': {'org.bluez.AgentManager1': {},
'org.bluez.ProfileManager1': {},
'org.freedesktop.DBus.Introspectable': {}},
'/org/bluez/hci0': {'org.bluez.Adapter1': {'Address': '00:1A:7D:DA:71:15',
'AddressType': 'public',
'Alias': 'ubuntu',
'Class': 786432,
'Discoverable': True,
'DiscoverableTimeout': 0,
'Discovering': False,
'Modalias': 'usb:v1D6Bp0246d0530',
'Name': 'ubuntu',
'Pairable': True,
'PairableTimeout': 0,
'Powered': True,
'UUIDs': ['00001112-0000-1000-8000-00805f9b34fb',
'00001801-0000-1000-8000-00805f9b34fb',
'0000110e-0000-1000-8000-00805f9b34fb',
'00001800-0000-1000-8000-00805f9b34fb',
'00001200-0000-1000-8000-00805f9b34fb',
'0000110c-0000-1000-8000-00805f9b34fb',
'0000110a-0000-1000-8000-00805f9b34fb',
'0000110b-0000-1000-8000-00805f9b34fb',
'00001108-0000-1000-8000-00805f9b34fb']},
'org.bluez.GattManager1': {},
'org.bluez.Media1': {},
'org.bluez.NetworkServer1': {},
'org.freedesktop.DBus.Introspectable': {},
'org.freedesktop.DBus.Properties': {}},
...}
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
44 | [IPC]D-Bus 소개 | makersweb | 2015.02.28 | 29735 |
43 | mmap() 함수, munmap() 함수 | pjk | 2014.02.05 | 15179 |
42 | ioctl() 함수 | makersweb | 2014.02.27 | 14058 |
41 | read() 함수, write() 함수 | makersweb | 2014.03.04 | 11344 |
40 | 리눅스 프레임버퍼(Linux Frame Buffer) | makersweb | 2015.02.15 | 7403 |
39 | Ubuntu Linux에서 dbus-c++바인딩 D-Bus 테스트 | makersweb | 2018.03.07 | 7053 |
38 | SocketCAN 유틸 사용방법 | makersweb | 2022.02.05 | 6905 |
37 | 키패드 드라이버 | pjk | 2014.02.12 | 6506 |
36 | 리눅스 커널 소스코드 구성도 | makersweb | 2014.03.04 | 5482 |
35 | Build Qt 4.7.0 for Embedded Linux | makersweb | 2015.05.25 | 5407 |
34 | 플랫폼 디바이스 드라이버 개발 시 많이 사용되는 커널 API 및 매크로 | makersweb | 2020.01.28 | 4696 |
33 | 리눅스 데스크탑 환경 종류 | pjk | 2015.02.11 | 4616 |
32 | 디바이스 드라이버에 대해서 | makersweb | 2014.04.19 | 4121 |
31 | Wayland에 대한 간단한 소개 | makersweb | 2017.12.29 | 3363 |
30 | file_operations | makersweb | 2014.02.27 | 3287 |
29 | 리눅스 디렉터리 구조 | makersweb | 2014.02.28 | 3227 |
28 | 4. Makefile를 작성할 때 알면 좋은 것들 | pjk | 2014.02.05 | 3035 |
27 | 리눅스 오디오 스택과 아키텍처 | makersweb | 2020.09.02 | 2837 |
26 | 리눅스에서 네트워크 구성 | makersweb | 2022.06.11 | 2815 |
25 | 3. 매크로(Macro) 와 확장자(Suffix) 규칙 | pjk | 2014.02.05 | 2600 |