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>
타입
이름
설명
멤버 타입
멤버 이름
멤버 설명
- 코드블럭 우측상단에
클립보드에 복사하기 버튼과자동 줄바꿈체크 버튼이 있습니다.자동 줄바꿈에 체크하면 코드가 자동 줄바꿈 되어 보여집니다.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.