class P1::CameraSdk::NotificationEvent

Overview

#include <C_P1CameraPrivStructs.hpp>

class NotificationEvent: public P1::CameraSdk::INotificationEvent
{
public:
    // construction

    NotificationEvent();
    NotificationEvent(NotificationEvent&& other);

    // methods

    virtual bool operator == (const INotificationEvent& other) const;
    virtual bool operator != (const INotificationEvent& other) const;
    virtual bool HasCamId() const;
    virtual bool HasImageFilename() const;
    virtual uint32_t ImageId() const;
    virtual CameraId CamId() const;
    virtual uint32_t PropertyId() const;
    virtual const BaseEventType& Type() const;
    virtual bool IsCameraEvent() const;
    virtual bool IsSdkEvent() const;
    virtual bool IsPropertyEvent() const;
    virtual bool IsImageEvent() const;
    virtual bool IsTransferEvent() const;
    virtual std::shared_ptr<const IImageFileBasicInfo> BasicImageInfo() const;
    virtual std::shared_ptr<const IPreview> Preview() const;
    virtual std::shared_ptr<const ITile> Tile() const;
    virtual std::shared_ptr<const ILiveView> LiveView() const;
    virtual std::shared_ptr<const IFullImage> FullImage() const;
    virtual std::shared_ptr<IStoredImageHandle> StoredImageHandle() const;
    virtual const CameraInfo& CamInfo() const;
    virtual uint8_t TransferProgressPercent() const;
    virtual std::string ImageFilename() const;
    virtual std::string ToString() const;
    virtual QueueingStrategy QueueMode() const;

    static std::shared_ptr<NotificationEvent> CreateCameraEvent(
        const EventType& type,
        const CameraId camId,
        const uint32_t optPropertyId = 0
        );

    static std::shared_ptr<NotificationEvent> CreateSdkEvent(
        const SdkEventType& type,
        const CameraInfo& info,
        const CameraId camId = -1
        );

    static std::shared_ptr<NotificationEvent> CreatePropertyEvent(
        const PropertyEventType& type,
        const CameraId camId,
        const uint32_t propertyId
        );

    static std::shared_ptr<NotificationEvent> CreateTransferEvent(
        const EventType& type,
        const CameraId camId,
        const uint8_t transferPercent,
        const std::string filename
        );

    static std::shared_ptr<NotificationEvent> CreateImageEvent(
        const EventType& type,
        const CameraId camId,
        const void*const pData
        );

    static std::shared_ptr<NotificationEvent> CreateFirmwareEvent(
        const EventType& type,
        const CameraId camId,
        const uint8_t transferPercent
        );
};

Inherited Members

public:
    // methods

    virtual bool operator == (INotificationEvent const& other) const = 0;
    virtual bool operator != (INotificationEvent const& other) const = 0;
    virtual BaseEventType const& Type() const = 0;
    virtual bool HasImageFilename() const = 0;
    virtual uint32_t ImageId() const = 0;
    virtual bool HasCamId() const = 0;
    virtual CameraId CamId() const = 0;
    virtual uint32_t PropertyId() const = 0;
    virtual bool IsCameraEvent() const = 0;
    virtual bool IsSdkEvent() const = 0;
    virtual bool IsPropertyEvent() const = 0;
    virtual bool IsTransferEvent() const = 0;
    virtual bool IsImageEvent() const = 0;
    virtual std::shared_ptr<IImageFileBasicInfo const> BasicImageInfo() const = 0;
    virtual std::shared_ptr<IPreview const> Preview() const = 0;
    virtual std::shared_ptr<ITile const> Tile() const = 0;
    virtual std::shared_ptr<ILiveView const> LiveView() const = 0;
    virtual std::shared_ptr<IFullImage const> FullImage() const = 0;
    virtual std::shared_ptr<IStoredImageHandle> StoredImageHandle() const = 0;
    virtual CameraInfo const& CamInfo() const = 0;
    virtual uint8_t TransferProgressPercent() const = 0;
    virtual std::string ImageFilename() const = 0;
    virtual std::string ToString() const = 0;
    virtual QueueingStrategy QueueMode() const = 0;

Detailed Documentation

Methods

virtual bool HasCamId() const

true if this notification event relates to specific camera

virtual bool HasImageFilename() const

true if this notification event has filename data attached

virtual uint32_t ImageId() const

Gets the image id of the image this event relates to, or zero (0) if this is not an image related event.

virtual CameraId CamId() const

Gets the id of the camera that the notification relates to.

virtual uint32_t PropertyId() const

If this is a property related event (category is ‘Property’), then this is the id of that property.

virtual const BaseEventType& Type() const

Get a reference the EventType this notification comes from.

virtual bool IsCameraEvent() const

true if this notification event is of category Camera

virtual bool IsSdkEvent() const

true if this notification event is of category Sdk

virtual bool IsPropertyEvent() const

true if this notification event is of category Property

virtual bool IsImageEvent() const

true if this notification event is of category Image

virtual bool IsTransferEvent() const

true if this notification event is of category Transfer

virtual std::shared_ptr<const IImageFileBasicInfo> BasicImageInfo() const

If event type is CameraImageBasicImageInfo, this holds the basic info data object.

virtual std::shared_ptr<const IPreview> Preview() const

If event type is CameraPreviewReady, this holds the image buffer data object.

virtual std::shared_ptr<const ITile> Tile() const

If event type is CameraTileReady, this holds the image buffer data object.

virtual std::shared_ptr<const ILiveView> LiveView() const

If event type is CameraNewLiveViewImage, this holds the image buffer data object.

virtual std::shared_ptr<const IFullImage> FullImage() const

If event type is CameraImageReady, this holds the full image.

virtual std::shared_ptr<IStoredImageHandle> StoredImageHandle() const

If event type is CameraImageAdded, CameraImageRemoved or CameraImageEdited this holds the image list item object.

virtual const CameraInfo& CamInfo() const

If event type is of Sdk category, this holds basic camera info data object.

virtual uint8_t TransferProgressPercent() const

If event type is ImageTransferProgress, this returns the percent progress.

virtual std::string ImageFilename() const

If event type is of Transfer category, this contains the image file’s filename.

virtual std::string ToString() const

Returns a short (human readable) description of the notification event.

This string description include the event type and any auxiliary data

virtual QueueingStrategy QueueMode() const

Returns how this notification is queued in Listener.

Each NotificationEvent implementation defines a strategy of how it is added to notification queues.

See also:

QueueMode