libcamera: Move extensible to class

The Extensible concept is a generic Class helper. To prepare for
further class helper additions, move the specific extensible
implementation and header to a more generic class header and source.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Kieran Bingham 2021-02-08 14:30:31 +00:00
parent db55e09b42
commit 1473add188
6 changed files with 15 additions and 12 deletions

View file

@ -12,8 +12,8 @@
#include <stdint.h>
#include <string>
#include <libcamera/class.h>
#include <libcamera/controls.h>
#include <libcamera/extensible.h>
#include <libcamera/object.h>
#include <libcamera/request.h>
#include <libcamera/signal.h>

View file

@ -12,7 +12,7 @@
#include <sys/types.h>
#include <vector>
#include <libcamera/extensible.h>
#include <libcamera/class.h>
#include <libcamera/object.h>
#include <libcamera/signal.h>

View file

@ -2,10 +2,10 @@
/*
* Copyright (C) 2020, Google Inc.
*
* extensible.h - Utilities to create extensible public classes with stable ABIs
* class.h - Utilities and helpers for classes
*/
#ifndef __LIBCAMERA_EXTENSIBLE_H__
#define __LIBCAMERA_EXTENSIBLE_H__
#ifndef __LIBCAMERA_CLASS_H__
#define __LIBCAMERA_CLASS_H__
#include <memory>
@ -84,4 +84,4 @@ private:
} /* namespace libcamera */
#endif /* __LIBCAMERA_EXTENSIBLE_H__ */
#endif /* __LIBCAMERA_CLASS_H__ */

View file

@ -5,9 +5,9 @@ libcamera_public_headers = files([
'buffer.h',
'camera.h',
'camera_manager.h',
'class.h',
'compiler.h',
'controls.h',
'extensible.h',
'file_descriptor.h',
'framebuffer_allocator.h',
'geometry.h',

View file

@ -2,14 +2,17 @@
/*
* Copyright (C) 2020, Google Inc.
*
* extensible.cpp - Utilities to create extensible public classes with stable ABIs
* class.cpp - Utilities and helpers for classes
*/
#include <libcamera/extensible.h>
#include <libcamera/class.h>
/**
* \file extensible.h
* \brief Utilities to create extensible public classes with stable ABIs
* \file class.h
* \brief Utilities to help constructing class interfaces
*
* The extensible class can be inherited to create public classes with stable
* ABIs.
*/
namespace libcamera {

View file

@ -9,6 +9,7 @@ libcamera_sources = files([
'camera_controls.cpp',
'camera_manager.cpp',
'camera_sensor.cpp',
'class.cpp',
'controls.cpp',
'control_serializer.cpp',
'control_validator.cpp',
@ -18,7 +19,6 @@ libcamera_sources = files([
'event_dispatcher.cpp',
'event_dispatcher_poll.cpp',
'event_notifier.cpp',
'extensible.cpp',
'file.cpp',
'file_descriptor.cpp',
'formats.cpp',