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 데이터를 매개변수로 전달합니다. keyvalue는 모두 문자열 형식입니다.

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>
타입
이름
설명
멤버 타입
멤버 이름
멤버 설명
  • 코드블럭 우측에는 클립보드에 복사하기 버튼자동 줄바꿈 체크 버튼이 있습니다. 자동 줄바꿈에 체크하면 코드가 자동 줄바꿈 되어 보여집니다.