Oasis 소개¶
Oasis는 임베디드 기기에 적합한 멀티미디어 운영 미들웨어 플랫폼입니다.
Oasis는 아래와 같은 주요 컴포넌트를 제공합니다.
- 녹화: 다채널, Timelapse
- 스냅샷
- 모션 감지
- AI 기반 객체 인식
- Advanced Driver Assistance System(ADAS)
- 네트워킹: HTTPS, WebSocket, WebRTC, RTSP, MQTT, SIP, DDS
- GUI: Framework, 미디어 플레이어, 멀티채널 카메라 영상 모니터링
- 파일 시스템: Format-free
응용 프로그램은 Oasis와 Oasis File System인 OFFS를 초기화한 후 원하는 컴포넌트를 사용하고, 종료 시 Oasis를 해제합니다.
Oasis의 네임스페이스는 oasis 이며, 추가로 oasis::ui, oasis::fs, oasis::display 등의 서브 네임스페이스가 있습니다.
Oasis는 각 컴포넌트 사용을 위한 API 함수와 Observer나 Delegate와 같은 Interface 로 구성되어 있습니다.
Oasis 초기화와 각 컴포넌트 생성 API 호출 시 key-value map 데이터를 매개변수로 전달합니다. key와 value는 모두 문자열 형식입니다.
typedef
phmap::flat_hash_map<std::string, std::string>
key_value_map_t
OasisTypes.h
Oasis는 The Parallel Hashmap을 사용합니다.
표기 양식¶
- 형정의(typedef) 는 아래와 같습니다.
typedef
<type>
<name>
<header file>
- API 함수 설명 형식은 아래와 같습니다.
<return type>
<function name>
(
argument list
= <default>
)
<header file>
매개변수
IN
OUT
매개 변수 방향이 필요한 경우, 설명 앞에 IN OUT 표기를 합니다. OUT은 함수가 매개변수 값을 변경할 수 있음을 의미합니다. 기본방향은 IN 입니다. default 할당자가 있는 경우, 함수 선언문에 함께 명시됩니다.
리턴값
리턴 값 설명
- Interface 설명 형식은 아래와 같습니다.
<return type>
<interface function name>
(
argument list
= <default>
)
<header file>
매개변수
IN
OUT
매개 변수 방향이 필요한 경우, 설명 앞에 IN OUT 표기를 합니다. OUT은 함수가 매개변수 값을 변경할 수 있음을 의미합니다. 기본방향은 IN 입니다. default 할당자가 있는 경우, 함수 선언문에 함께 명시됩니다.
리턴값
리턴 값 설명
Note
모든 인터페이스 함수 선언문에서 virtual은 생략됩니다.
- key-value map 목록 설명 형식은 아래와 같습니다.
키
기본값
필수
설명
키 이름
기본값
○
패러미터 설명
Note
key-value map에서 value는 모두 문자열로 표현됩니다. bool 속성을 갖는 키의 경우, true는 값을 "1"로 사용하고, false는 값을 "0"으로 사용합니다.
- 구조체 설명 형식은 아래와 같습니다.
struct
<구조체 이름>
<header file>
타입
이름
설명
멤버 타입
멤버 이름
멤버 설명
- 코드블럭 우측에는
클립보드에 복사하기 버튼과자동 줄바꿈체크 버튼이 있습니다.자동 줄바꿈에 체크하면 코드가 자동 줄바꿈 되어 보여집니다.