[shotwell/wip/phako/external-gstreamer: 2/5] wip: Create meta-data sublibrary
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [shotwell/wip/phako/external-gstreamer: 2/5] wip: Create meta-data sublibrary
- Date: Sun, 12 May 2019 10:52:34 +0000 (UTC)
commit 59d2e97a755507f93a544e9131dffb04807cf2ec
Author: Jens Georg <mail jensge org>
Date: Tue May 7 22:19:22 2019 +0200
wip: Create meta-data sublibrary
src/meson.build | 3 +-
src/metadata/MediaMetadata.vala | 17 ++++++++++
.../MetadataDateTime.vala} | 38 ----------------------
src/metadata/MetadataRational.vala | 23 +++++++++++++
src/metadata/meson.build | 16 +++++++++
src/util/file.vala | 14 --------
6 files changed, 58 insertions(+), 53 deletions(-)
---
diff --git a/src/meson.build b/src/meson.build
index 5443c4f0..02943fa1 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -44,6 +44,7 @@ if unity_available
shotwell_deps += [unity]
endif
+subdir('metadata')
subdir('publishing')
executable(
@@ -222,7 +223,6 @@ executable(
'MediaDataRepresentation.vala',
'DesktopIntegration.vala',
'MediaInterfaces.vala',
- 'MediaMetadata.vala',
'VideoMetadata.vala',
'MediaMonitor.vala',
'PhotoMonitor.vala',
@@ -272,6 +272,7 @@ executable(
dependencies : [
shotwell_deps,
sw_publishing_gui
+ metadata
],
vala_args : [
'--pkg', 'libgphoto2',
diff --git a/src/metadata/MediaMetadata.vala b/src/metadata/MediaMetadata.vala
new file mode 100644
index 00000000..46c9e97a
--- /dev/null
+++ b/src/metadata/MediaMetadata.vala
@@ -0,0 +1,17 @@
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+public abstract class MediaMetadata {
+ public abstract void read_from_file(File file) throws Error;
+
+ public abstract MetadataDateTime? get_creation_date_time();
+
+ public abstract string? get_title();
+
+ public abstract string? get_comment();
+}
+
+
diff --git a/src/MediaMetadata.vala b/src/metadata/MetadataDateTime.vala
similarity index 71%
rename from src/MediaMetadata.vala
rename to src/metadata/MetadataDateTime.vala
index b2ba1b77..d984b98e 100644
--- a/src/MediaMetadata.vala
+++ b/src/metadata/MetadataDateTime.vala
@@ -1,41 +1,3 @@
-/* Copyright 2016 Software Freedom Conservancy Inc.
- *
- * This software is licensed under the GNU Lesser General Public License
- * (version 2.1 or later). See the COPYING file in this distribution.
- */
-
-public abstract class MediaMetadata {
- public abstract void read_from_file(File file) throws Error;
-
- public abstract MetadataDateTime? get_creation_date_time();
-
- public abstract string? get_title();
-
- public abstract string? get_comment();
-}
-
-public struct MetadataRational {
- public int numerator;
- public int denominator;
-
- public MetadataRational(int numerator, int denominator) {
- this.numerator = numerator;
- this.denominator = denominator;
- }
-
- private bool is_component_valid(int component) {
- return (component >= 0) && (component <= 1000000);
- }
-
- public bool is_valid() {
- return (is_component_valid(numerator) && is_component_valid(denominator));
- }
-
- public string to_string() {
- return (is_valid()) ? ("%d/%d".printf(numerator, denominator)) : "";
- }
-}
-
public errordomain MetadataDateTimeError {
INVALID_FORMAT,
UNSUPPORTED_FORMAT
diff --git a/src/metadata/MetadataRational.vala b/src/metadata/MetadataRational.vala
new file mode 100644
index 00000000..39ae021a
--- /dev/null
+++ b/src/metadata/MetadataRational.vala
@@ -0,0 +1,23 @@
+public struct MetadataRational {
+ public int numerator;
+ public int denominator;
+
+ public MetadataRational(int numerator, int denominator) {
+ this.numerator = numerator;
+ this.denominator = denominator;
+ }
+
+ private bool is_component_valid(int component) {
+ return (component >= 0) && (component <= 1000000);
+ }
+
+ public bool is_valid() {
+ return (is_component_valid(numerator) && is_component_valid(denominator));
+ }
+
+ public string to_string() {
+ return (is_valid()) ? ("%d/%d".printf(numerator, denominator)) : "";
+ }
+}
+
+
diff --git a/src/metadata/meson.build b/src/metadata/meson.build
new file mode 100644
index 00000000..7f322caa
--- /dev/null
+++ b/src/metadata/meson.build
@@ -0,0 +1,16 @@
+libmetadata = static_library(
+ 'metadata',
+ [
+ 'MediaMetadata.vala',
+ 'MetadataDateTime.vala',
+ 'MetadataRational.vala'
+ ],
+ dependencies : [
+ gio
+ ]
+)
+
+metadata = declare_dependency(
+ include_directories : include_directories('.'),
+ link_with : libmetadata
+)
diff --git a/src/util/file.vala b/src/util/file.vala
index 32b77620..c6609d4c 100644
--- a/src/util/file.vala
+++ b/src/util/file.vala
@@ -199,20 +199,6 @@ public string? get_file_info_id(FileInfo info) {
return info.get_attribute_string(FileAttribute.ID_FILE);
}
-// Breaks a uint64 skip amount into several smaller skips.
-public void skip_uint64(InputStream input, uint64 skip_amount) throws GLib.Error {
- while (skip_amount > 0) {
- // skip() throws an error if the amount is too large, so check against ssize_t.MAX
- if (skip_amount >= ssize_t.MAX) {
- input.skip(ssize_t.MAX);
- skip_amount -= ssize_t.MAX;
- } else {
- input.skip((size_t) skip_amount);
- skip_amount = 0;
- }
- }
-}
-
// Returns the number of files (and/or directories) within a directory.
public uint64 count_files_in_directory(File dir) throws GLib.Error {
if (!query_is_directory(dir))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]