Skip to content

Commit

Permalink
Export QuickTimeVideo
Browse files Browse the repository at this point in the history
  • Loading branch information
kmilos committed Jan 27, 2023
1 parent a87c59b commit af50bd2
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 10 deletions.
10 changes: 8 additions & 2 deletions include/exiv2/asfvideo.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,13 @@
// included header files
#include "image.hpp"

// *****************************************************************************
//namespaceextensions
namespace Exiv2 {

// *****************************************************************************
// class definitions

/*!
@brief Class to access ASF video files.
*/
Expand All @@ -56,7 +59,10 @@ class EXIV2API AsfVideo : public Image {
method to get a temporary reference.
*/
explicit AsfVideo(BasicIo::UniquePtr io);
//@}

//! @name NOT Implemented
//@{
//! Copy constructor
AsfVideo(const AsfVideo&) = delete;
//! Assignment operator
Expand All @@ -71,7 +77,7 @@ class EXIV2API AsfVideo : public Image {

//! @name Accessors
//@{
std::string mimeType() const override;
[[nodiscard]] std::string mimeType() const override;
//@}
private:
static constexpr size_t ASF_TAG_SIZE = 0x4;
Expand Down Expand Up @@ -170,4 +176,4 @@ EXIV2API bool isAsfType(BasicIo& iIo, bool advance);

} // namespace Exiv2

#endif // #ifndef ASFVIDEO_HPP_
#endif // ASFVIDEO_HPP_
9 changes: 8 additions & 1 deletion include/exiv2/matroskavideo.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,10 @@ class EXIV2API MatroskaVideo : public Image {
method to get a temporary reference.
*/
explicit MatroskaVideo(BasicIo::UniquePtr io);
//@}

//! @name NOT Implemented
//@{
//! Copy constructor
MatroskaVideo(const MatroskaVideo&) = delete;
//! Assignment operator
Expand Down Expand Up @@ -184,6 +187,10 @@ class EXIV2API MatroskaVideo : public Image {
}; // class MatroskaVideo

// *****************************************************************************
// template, inline and free functions

// These could be static private functions on Image subclasses but then
// ImageFactory needs to be made a friend.
/*!
@brief Create a new MatroskaVideo instance and return an auto-pointer to it.
Caller owns the returned object and the auto-pointer ensures that
Expand All @@ -196,4 +203,4 @@ EXIV2API bool isMkvType(BasicIo& iIo, bool advance);

} // namespace Exiv2

#endif // #ifndef MATROSKAVIDEO_HPP_
#endif // MATROSKAVIDEO_HPP_
10 changes: 5 additions & 5 deletions include/exiv2/quicktimevideo.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ namespace Exiv2 {
/*!
@brief Class to access QuickTime video files.
*/
class QuickTimeVideo : public Image {
class EXIV2API QuickTimeVideo : public Image {
public:
//! @name Creators
//@{
Expand All @@ -52,7 +52,7 @@ class QuickTimeVideo : public Image {
instance after it is passed to this method. Use the Image::io()
method to get a temporary reference.
*/
QuickTimeVideo(BasicIo::UniquePtr io);
explicit QuickTimeVideo(BasicIo::UniquePtr io);
//@}

//! @name NOT Implemented
Expand All @@ -71,7 +71,7 @@ class QuickTimeVideo : public Image {

//! @name Accessors
//@{
std::string mimeType() const override;
[[nodiscard]] std::string mimeType() const override;
//@}

protected:
Expand Down Expand Up @@ -227,10 +227,10 @@ class QuickTimeVideo : public Image {
Caller owns the returned object and the auto-pointer ensures that
it will be deleted.
*/
Image::UniquePtr newQTimeInstance(BasicIo::UniquePtr io, bool create);
EXIV2API Image::UniquePtr newQTimeInstance(BasicIo::UniquePtr io, bool create);

//! Check if the file iIo is a Quick Time Video.
bool isQTimeType(BasicIo& iIo, bool advance);
EXIV2API bool isQTimeType(BasicIo& iIo, bool advance);

} // namespace Exiv2

Expand Down
6 changes: 4 additions & 2 deletions include/exiv2/riffvideo.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* asize_t with this program; if not, write to the Free Software
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA.
*/
#ifndef RIFFVIDEO_HPP
Expand Down Expand Up @@ -53,12 +53,14 @@ class EXIV2API RiffVideo : public Image {
method to get a temporary reference.
*/
explicit RiffVideo(BasicIo::UniquePtr io);
//@}

//! @name NOT Implemented
//@{
//! Copy constructor
RiffVideo(const RiffVideo&) = delete;
//! Assignment operator
RiffVideo& operator=(const RiffVideo&) = delete;

//@}

//! @name Manipulators
Expand Down

0 comments on commit af50bd2

Please sign in to comment.