1From cbb8f5c05fce1d56ae2e5fa9f57fc49c47bed5ab Mon Sep 17 00:00:00 2001 2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> 3Date: Sun, 12 May 2019 21:58:02 +0200 4Subject: [PATCH] Move the function cd_icc_create_from_edid to avoid udev 5 dependeny 6MIME-Version: 1.0 7Content-Type: text/plain; charset=UTF-8 8Content-Transfer-Encoding: 8bit 9 10We do not have udev-native so it is a dependeny we cannot satisfy 11 12Upstream-Status: Inappropriate [OE specific] 13 14Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> 15--- 16 lib/colord/cd-edid.c | 63 ++++++++++++++++++++++++++++++++++++++++++++ 17 lib/colord/cd-icc.c | 62 ------------------------------------------- 18 2 files changed, 63 insertions(+), 62 deletions(-) 19 20diff --git a/lib/colord/cd-edid.c b/lib/colord/cd-edid.c 21index a5e2328..dec509a 100644 22--- a/lib/colord/cd-edid.c 23+++ b/lib/colord/cd-edid.c 24@@ -687,3 +687,66 @@ cd_edid_new (void) 25 edid = g_object_new (CD_TYPE_EDID, NULL); 26 return CD_EDID (edid); 27 } 28+ 29+/** 30+ * cd_icc_create_from_edid_data: 31+ * @icc: A valid #CdIcc 32+ * @edid: EDID data 33+ * @error: A #GError, or %NULL 34+ * 35+ * Creates an ICC profile from EDID data. 36+ * 37+ * Return value: %TRUE for success 38+ * 39+ * Since: 1.1.2 40+ **/ 41+gboolean 42+cd_icc_create_from_edid_data (CdIcc *icc, CdEdid *edid, GError **error) 43+{ 44+ CdIccPrivate *priv = GET_PRIVATE (icc); 45+ const gchar *data; 46+ 47+ /* not loaded */ 48+ if (priv->lcms_profile != NULL) { 49+ g_set_error_literal (error, 50+ CD_ICC_ERROR, 51+ CD_ICC_ERROR_FAILED_TO_CREATE, 52+ "already loaded or generated"); 53+ return FALSE; 54+ } 55+ 56+ /* create from parsed object */ 57+ if (!cd_icc_create_from_edid (icc, 58+ cd_edid_get_gamma (edid), 59+ cd_edid_get_red (edid), 60+ cd_edid_get_green (edid), 61+ cd_edid_get_blue (edid), 62+ cd_edid_get_white (edid), 63+ error)) { 64+ return FALSE; 65+ } 66+ 67+ /* set copyright */ 68+ cd_icc_set_copyright (icc, NULL, 69+ /* deliberately not translated */ 70+ "This profile is free of known copyright restrictions."); 71+ 72+ /* set 'ICC meta Tag for Monitor Profiles' data */ 73+ data = cd_edid_get_checksum (edid); 74+ if (data != NULL) 75+ cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MD5, data); 76+ data = cd_edid_get_monitor_name (edid); 77+ if (data != NULL) 78+ cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MODEL, data); 79+ data = cd_edid_get_serial_number (edid); 80+ if (data != NULL) 81+ cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_SERIAL, data); 82+ data = cd_edid_get_pnp_id (edid); 83+ if (data != NULL) 84+ cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MNFT, data); 85+ data = cd_edid_get_vendor_name (edid); 86+ if (data != NULL) 87+ cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_VENDOR, data); 88+ return TRUE; 89+} 90+ 91diff --git a/lib/colord/cd-icc.c b/lib/colord/cd-icc.c 92index 8beec43..398ff7a 100644 93--- a/lib/colord/cd-icc.c 94+++ b/lib/colord/cd-icc.c 95@@ -3114,68 +3114,6 @@ cd_icc_create_default (CdIcc *icc, GError **error) 96 return cd_icc_create_default_full (icc, CD_ICC_LOAD_FLAGS_NONE, error); 97 } 98 99-/** 100- * cd_icc_create_from_edid_data: 101- * @icc: A valid #CdIcc 102- * @edid: EDID data 103- * @error: A #GError, or %NULL 104- * 105- * Creates an ICC profile from EDID data. 106- * 107- * Return value: %TRUE for success 108- * 109- * Since: 1.1.2 110- **/ 111-gboolean 112-cd_icc_create_from_edid_data (CdIcc *icc, CdEdid *edid, GError **error) 113-{ 114- CdIccPrivate *priv = GET_PRIVATE (icc); 115- const gchar *data; 116- 117- /* not loaded */ 118- if (priv->lcms_profile != NULL) { 119- g_set_error_literal (error, 120- CD_ICC_ERROR, 121- CD_ICC_ERROR_FAILED_TO_CREATE, 122- "already loaded or generated"); 123- return FALSE; 124- } 125- 126- /* create from parsed object */ 127- if (!cd_icc_create_from_edid (icc, 128- cd_edid_get_gamma (edid), 129- cd_edid_get_red (edid), 130- cd_edid_get_green (edid), 131- cd_edid_get_blue (edid), 132- cd_edid_get_white (edid), 133- error)) { 134- return FALSE; 135- } 136- 137- /* set copyright */ 138- cd_icc_set_copyright (icc, NULL, 139- /* deliberately not translated */ 140- "This profile is free of known copyright restrictions."); 141- 142- /* set 'ICC meta Tag for Monitor Profiles' data */ 143- data = cd_edid_get_checksum (edid); 144- if (data != NULL) 145- cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MD5, data); 146- data = cd_edid_get_monitor_name (edid); 147- if (data != NULL) 148- cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MODEL, data); 149- data = cd_edid_get_serial_number (edid); 150- if (data != NULL) 151- cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_SERIAL, data); 152- data = cd_edid_get_pnp_id (edid); 153- if (data != NULL) 154- cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MNFT, data); 155- data = cd_edid_get_vendor_name (edid); 156- if (data != NULL) 157- cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_VENDOR, data); 158- return TRUE; 159-} 160- 161 /** 162 * cd_icc_create_from_edid: 163 * @icc: A valid #CdIcc 164-- 1652.20.1 166 167