Commit Graph
50 Commits
Author SHA1 Message Date
Urs Fleisch e60df53152 Add virtual to abstract overridden destructor
This is redundant, but required by SWIG.
2024-03-25 20:13:55 +01:00
Urs Fleisch fb0f7dfa57 More API documentation corrections 2024-01-17 20:54:56 +01:00
Urs Fleisch c5d798a50d Correct the API documentation 2024-01-04 17:18:23 +01:00
Rosen PenevandUrs Fleisch fa234fc053 make swap function noexcept
Signed-off-by: Rosen Penev <[email protected]>
2023-12-13 12:59:03 +01:00
Urs Fleisch c9486731d9 Fix MSVC warning needs to have dll-interface (#1185)
Unfortunately, MSVC exports everything (not only public members) when
__declspec(dllexport) is set at the class level via TAGLIB_EXPORT, which
leads to many "needs to have dll-interface to be used by clients" 4251
warnings issued by MSVC, because the std::unique_ptr pimpls are
exported too. As it is not possible to "unexport" private members,
such a warning has to be explicitly suppressed for these cases or
all public and protected class member now have to be exported
for classes derived from a template (StringList, ByteVectorList,
PropertyMap).
2023-12-11 06:35:08 +01:00
Urs Fleisch 0db487bf61 Remove deprecated FileRef::create() method
In order to achieve this, the TagLib_File type of the C bindings is now
a FileRef and no longer a File. The support for the .oga extension has been
ported to FileRef(), so that taglib_file_new() should still behave the
same, but additionally also support content based file type detection.
2023-10-27 09:46:54 +02:00
Urs Fleisch 8d98ebf24b Provide properties methods on FileRef, make FileRef non-virtual
Use of FileRef::file() is discouraged, but was necessary to access the
properties. It was also not clear whether to access the properties via
tag() or file(). With the property methods on FileRef, it should become
the "simple usage" interface it was meant to be.
As the destructor was the only virtual method on FileRef, it is now made
non-virtual. Probably, it is not useful as a virtual base class.
2023-10-27 09:46:54 +02:00
Urs Fleisch 182edcd3f9 Add unit tests for C bindings 2023-10-21 06:19:55 +02:00
Rosen PenevandGitHub 185bb7042e Use unique_ptr for d-pointers (#1095)
* clang-tidy: make deleted members public

One oversight of modernize-use-equals-delete is that the C++11 way of
doing this is to make it public, which makes the warning still trigger.

Signed-off-by: Rosen Penev <[email protected]>

* clang-tidy: add missing deleted functions

Found with cppcoreguidelines-special-member-functions

Signed-off-by: Rosen Penev <[email protected]>

* unique_ptr conversions

unique_ptr is a safer and cleaner way to handle d pointers.

Also added missing = default.

Signed-off-by: Rosen Penev <[email protected]>

---------

Signed-off-by: Rosen Penev <[email protected]>
2023-08-07 15:08:40 -05:00
Rosen PenevandGitHub 843a8aac80 Replace RefCounter with shared_ptr (#1100)
* clang-tidy: replace RefCounter with shared_ptr

The latter is C++11.

Found with clang-analyzer-webkit.NoUncountedMemberChecker

Signed-off-by: Rosen Penev <[email protected]>

* remove trefcounter

It is now unused.

Signed-off-by: Rosen Penev <[email protected]>

---------

Signed-off-by: Rosen Penev <[email protected]>
2023-08-07 08:40:24 -05:00
Scott Wheeler f903e1ad71 Add checks for the expected sizes of all public classes
This ensures that d-pointers exist where they're expected, and that
classes are virtual that we expect to be virtual, as well as ensuring
that we get a failure if the class size changes when it shouldn't.

This also fixes the issues that were discovered by adding these tests.
2023-07-30 06:31:48 +02:00
Urs Fleisch 9867bc947e clang-tidy: Use override keyword
run-clang-tidy -header-filter='.*' -checks='-*,modernize-use-override' -fix
2023-07-22 07:09:58 +02:00
Urs Fleisch ceb142c9bd Remove functions documented (but not marked) as deprecated
Clean up other stuff with comments about binary incompatibility,
but only as far as to mostly keep source compatibility.
2023-07-09 07:01:37 +02:00
Urs Fleisch 250dece2ab Fix warnings about missing virtual destructors 2023-07-09 07:01:37 +02:00
Urs Fleisch 084108a908 Document replacements for deprecated functions (#1001) 2022-10-26 15:42:49 +02:00
Urs Fleisch e255e749e8 fileref: Adapt formatting to TagLib code style 2022-02-27 07:11:53 +01:00
Hugo Beauzée-LuyssenandUrs Fleisch f7887e7235 FileTypeResolver: Add a StreamTypeResolver interface 2022-02-27 07:11:53 +01:00
Urs Fleisch fbc3f9bbec Fix doxygen warnings 2021-02-14 18:20:29 +01:00
Tsuda Kageyu c2fe93c12b Restore FileRef::create() in order not to change the previous behavior. 2017-06-06 09:17:34 +09:00
Tsuda Kageyu 682ea77c2b Mention that FileRef::create no longer works. 2017-05-31 09:41:41 +09:00
Tsuda Kageyu 931bb042c3 Enable FileRef to detect file types by the actual content of a stream.
FileRef doesn't work with ByteVectorStream as reported at #796, since ByteVectorStream is not associated with a file name and FileRef detects file types based on file extensions.
This commit makes FileRef to work with ByteVectorStream by enabling it to detect file types based on the actual content of a stream.
2017-02-04 23:31:08 +09:00
Tsuda Kageyu fa46185ca4 Add a supplementary note to a comment. 2016-02-06 21:14:12 +09:00
Tsuda Kageyu 8724184d56 Fix a typo in a comment. 2015-11-21 10:32:32 +09:00
Tsuda Kageyu de0fc83066 Style fixes in fileref.cpp. 2015-11-21 10:29:37 +09:00
Hugo Beauzée-Luyssen e750cb491d FileRef: Allow an IOStream to be used 2015-09-15 15:01:40 +02:00
Tsuda Kageyu 2b260fd2e8 Fix some typos in comments. 2015-06-09 10:33:32 +09:00
Scott Wheeler b1a35a8b31 Add const to docs 2015-06-03 01:21:12 +02:00
Lukáš Lalinský a6f759cc9a These shouldn't be executable either 2013-10-08 16:06:58 +02:00
Festus Hagen b3f3eeeec7 Added FindShlwapi.cmake in lieu of pragma comment() in fileref.h. 2013-05-25 01:58:49 -04:00
Tsuda kageyu d959ab89f1 Fix an error message in Win32 2013-04-19 06:13:27 +09:00
Tsuda kageyu 1f4e06ea7c Revert changes concerning the smart pointer 2013-04-17 22:54:56 +09:00
Tsuda kageyu 94a07fa39a Restore ABI breaking change 2013-04-17 11:33:01 +09:00
Tsuda kageyu b14dc1572d Replace RefCounter with a smart pointer 2013-04-17 10:10:25 +09:00
Nick Shaforostoff c56c0a3d0c fix crash on wma file parsing, add clarifications to API docs
CCMAIL: [email protected]



git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1217766 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-28 13:18:36 +00:00
Lukáš Lalinský 393e9c5572 Fix FSF address
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1212872 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-08 11:20:09 +00:00
Lukáš Lalinský 18c621cdc2 Always use #include "XXX" in TagLib's code
Patch by Stephen F. Booth, thanks!


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1033289 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2009-10-09 21:03:59 +00:00
Scott Wheeler fad967ae0b Less of The Big Ugly in the middle of the classes.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@942880 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2009-03-22 19:27:38 +00:00
Andrew Coles 56e8766126 Added GCC pragma to suppress non-virtual dtor warning which is being preserved
to maintain BIC.



git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@942876 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2009-03-22 19:06:05 +00:00
Scott Wheeler 88a9ae32f8 Set the copyright to 2002-2008 for all files.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@770859 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2008-02-04 15:11:56 +00:00
Scott Wheeler 4952d86c6c Add missing exports
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@769306 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2008-02-01 03:16:51 +00:00
Michael Pyne aebb9a8690 Adapt API docs for FileRef class to match current function signatures.
Patch by Vincent Castellano

CCMAIL:[email protected]


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@747837 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2007-12-13 02:45:12 +00:00
Lukáš Lalinský bb438484da Use Unicode filenames on Windows (this time the correct patch).
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@734975 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2007-11-10 16:06:16 +00:00
Scott Wheeler 5b03541038 Got permission from all (non-trivial) contributors to dual license under the MPL.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@723791 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2007-10-10 18:22:58 +00:00
Kevin Krammer ab1939b8fb Unfix compiler warning. Compiler warnings good, BIC changes bad.
Make it a bit more obvious for the next poor fellow


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@706333 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2007-08-29 23:33:30 +00:00
Kevin Krammer a4d6e9a615 Fixing compiler warning about missing virtual destructor in class with virtual methods
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@706328 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2007-08-29 22:57:23 +00:00
Christian Ehrlicher 30a2edc4a3 (initial) win32 export support
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@698835 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2007-08-11 08:29:23 +00:00
Scott Wheeler a3d8b6be8b Revert this as this change isn't BC
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@620850 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2007-01-07 15:31:01 +00:00
Brad Hards b9c7c6ae5f A few spelling fixes, identified using krazy.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@618883 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2007-01-02 11:54:03 +00:00
Laurent Montel df614076d8 Fix warning
Fix create HAVE_ZLIB variable


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@611286 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2006-12-07 14:13:46 +00:00
Scott Wheeler 60a3f993b5 This is starting to look more sane.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@588022 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2006-09-24 17:12:40 +00:00