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 <stdint.h>
#include <string> #include <string>
#include <libcamera/class.h>
#include <libcamera/controls.h> #include <libcamera/controls.h>
#include <libcamera/extensible.h>
#include <libcamera/object.h> #include <libcamera/object.h>
#include <libcamera/request.h> #include <libcamera/request.h>
#include <libcamera/signal.h> #include <libcamera/signal.h>

View file

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

View file

@ -2,10 +2,10 @@
/* /*
* Copyright (C) 2020, Google Inc. * 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__ #ifndef __LIBCAMERA_CLASS_H__
#define __LIBCAMERA_EXTENSIBLE_H__ #define __LIBCAMERA_CLASS_H__
#include <memory> #include <memory>
@ -84,4 +84,4 @@ private:
} /* namespace libcamera */ } /* namespace libcamera */
#endif /* __LIBCAMERA_EXTENSIBLE_H__ */ #endif /* __LIBCAMERA_CLASS_H__ */

View file

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

View file

@ -2,14 +2,17 @@
/* /*
* Copyright (C) 2020, Google Inc. * 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 * \file class.h
* \brief Utilities to create extensible public classes with stable ABIs * \brief Utilities to help constructing class interfaces
*
* The extensible class can be inherited to create public classes with stable
* ABIs.
*/ */
namespace libcamera { namespace libcamera {

View file

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