Skip to content

Commit

Permalink
[core] Mark functions exported to plugins as weak. JB#48413
Browse files Browse the repository at this point in the history
This fixes 'undefined-non-weak-symbol' plugin linking warnings.
  • Loading branch information
monich committed Jan 4, 2021
1 parent 12f631c commit c986f2e
Show file tree
Hide file tree
Showing 44 changed files with 372 additions and 252 deletions.
62 changes: 41 additions & 21 deletions core/include/nfc_adapter.h
Expand Up @@ -57,7 +57,7 @@ struct nfc_adapter {
gboolean target_present;
};

GType nfc_adapter_get_type(void);
GType nfc_adapter_get_type(void) NFCD_EXPORT;
#define NFC_TYPE_ADAPTER (nfc_adapter_get_type())
#define NFC_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), \
NFC_TYPE_ADAPTER, NfcAdapter))
Expand All @@ -77,117 +77,137 @@ void

NfcAdapter*
nfc_adapter_ref(
NfcAdapter* adapter);
NfcAdapter* adapter)
NFCD_EXPORT;

void
nfc_adapter_unref(
NfcAdapter* adapter);
NfcAdapter* adapter)
NFCD_EXPORT;

void
nfc_adapter_request_power(
NfcAdapter* adapter,
gboolean on);
gboolean on)
NFCD_EXPORT;

gboolean
nfc_adapter_request_mode(
NfcAdapter* adapter,
NFC_MODE mode);
NFC_MODE mode)
NFCD_EXPORT;

NfcTag*
nfc_adapter_add_tag_t2(
NfcAdapter* adapter,
NfcTarget* target,
const NfcTagParamT2* params);
const NfcTagParamT2* params)
NFCD_EXPORT;

NfcTag*
nfc_adapter_add_tag_t4a(
NfcAdapter* adapter,
NfcTarget* target,
const NfcParamPollA* poll_a,
const NfcParamIsoDepPollA* iso_dep_param); /* Since 1.0.20 */
const NfcParamIsoDepPollA* iso_dep_param) /* Since 1.0.20 */
NFCD_EXPORT;

NfcTag*
nfc_adapter_add_tag_t4b(
NfcAdapter* adapter,
NfcTarget* target,
const NfcParamPollB* poll_b,
const NfcParamIsoDepPollB* iso_dep_param); /* Since 1.0.20 */
const NfcParamIsoDepPollB* iso_dep_param) /* Since 1.0.20 */
NFCD_EXPORT;

NfcTag*
nfc_adapter_add_other_tag(
NfcAdapter* adapter,
NfcTarget* target)
G_GNUC_DEPRECATED_FOR(nfc_adapter_add_other_tag2);
G_GNUC_DEPRECATED_FOR(nfc_adapter_add_other_tag2)
NFCD_EXPORT;

NfcTag*
nfc_adapter_add_other_tag2(
NfcAdapter* adapter,
NfcTarget* target,
const NfcParamPoll* poll); /* Since 1.0.33 */
const NfcParamPoll* poll) /* Since 1.0.33 */
NFCD_EXPORT;

void
nfc_adapter_remove_tag(
NfcAdapter* adapter,
const char* name);
const char* name)
NFCD_EXPORT;

gulong
nfc_adapter_add_target_presence_handler(
NfcAdapter* adapter,
NfcAdapterFunc func,
void* user_data);
void* user_data)
NFCD_EXPORT;

gulong
nfc_adapter_add_tag_added_handler(
NfcAdapter* adapter,
NfcAdapterTagFunc func,
void* user_data);
void* user_data)
NFCD_EXPORT;

gulong
nfc_adapter_add_tag_removed_handler(
NfcAdapter* adapter,
NfcAdapterTagFunc func,
void* user_data);
void* user_data)
NFCD_EXPORT;

gulong
nfc_adapter_add_powered_changed_handler(
NfcAdapter* adapter,
NfcAdapterFunc func,
void* user_data);
void* user_data)
NFCD_EXPORT;

gulong
nfc_adapter_add_power_requested_handler(
NfcAdapter* adapter,
NfcAdapterFunc func,
void* user_data);
void* user_data)
NFCD_EXPORT;

gulong
nfc_adapter_add_mode_changed_handler(
NfcAdapter* adapter,
NfcAdapterFunc func,
void* user_data);
void* user_data)
NFCD_EXPORT;

gulong
nfc_adapter_add_mode_requested_handler(
NfcAdapter* adapter,
NfcAdapterFunc func,
void* user_data);
void* user_data)
NFCD_EXPORT;

gulong
nfc_adapter_add_enabled_changed_handler(
NfcAdapter* adapter,
NfcAdapterFunc func,
void* user_data);
void* user_data)
NFCD_EXPORT;

void
nfc_adapter_remove_handler(
NfcAdapter* adapter,
gulong id);
gulong id)
NFCD_EXPORT;

void
nfc_adapter_remove_handlers(
NfcAdapter* adapter,
gulong* ids,
guint count);
guint count)
NFCD_EXPORT;

#define nfc_adapter_remove_all_handlers(adapter,ids) \
nfc_adapter_remove_handlers(adapter, ids, G_N_ELEMENTS(ids))
Expand Down
13 changes: 8 additions & 5 deletions core/include/nfc_adapter_impl.h
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2018-2019 Jolla Ltd.
* Copyright (C) 2018-2019 Slava Monich <slava.monich@jolla.com>
* Copyright (C) 2018-2021 Jolla Ltd.
* Copyright (C) 2018-2021 Slava Monich <slava.monich@jolla.com>
*
* You may use this file under the terms of BSD license as follows:
*
Expand Down Expand Up @@ -69,18 +69,21 @@ void
nfc_adapter_mode_notify(
NfcAdapter* adapter,
NFC_MODE mode,
gboolean requested);
gboolean requested)
NFCD_EXPORT;

void
nfc_adapter_power_notify(
NfcAdapter* adapter,
gboolean on,
gboolean requested);
gboolean requested)
NFCD_EXPORT;

void
nfc_adapter_target_notify(
NfcAdapter* adapter,
gboolean present);
gboolean present)
NFCD_EXPORT;

G_END_DECLS

Expand Down
7 changes: 4 additions & 3 deletions core/include/nfc_core.h
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2019 Jolla Ltd.
* Copyright (C) 2019 Slava Monich <slava.monich@jolla.com>
* Copyright (C) 2019-2021 Jolla Ltd.
* Copyright (C) 2019-2021 Slava Monich <slava.monich@jolla.com>
*
* You may use this file under the terms of BSD license as follows:
*
Expand Down Expand Up @@ -41,7 +41,8 @@ G_BEGIN_DECLS

guint
nfc_core_version(
void); /* Since 1.0.26 */
void) /* Since 1.0.26 */
NFCD_EXPORT;

G_END_DECLS

Expand Down
32 changes: 20 additions & 12 deletions core/include/nfc_crc.h
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2018-2019 Jolla Ltd.
* Copyright (C) 2018-2019 Slava Monich <slava.monich@jolla.com>
* Copyright (C) 2018-2021 Jolla Ltd.
* Copyright (C) 2018-2021 Slava Monich <slava.monich@jolla.com>
*
* You may use this file under the terms of BSD license as follows:
*
Expand All @@ -14,8 +14,8 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the names of the copyright holders nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Expand Down Expand Up @@ -47,47 +47,55 @@ void
nfc_crc_append_le16(
NfcCrc16Func fn,
guint8* data,
gsize size);
gsize size)
NFCD_EXPORT;

gboolean
nfc_crc_check_le16_tail(
NfcCrc16Func fn,
const guint8* data,
gsize len);
gsize len)
NFCD_EXPORT;

/* CRC_A [ISO/IEC_13239] */

guint16
nfc_crc_a(
const guint8* data,
gsize len);
gsize len)
NFCD_EXPORT;

void
nfc_crc_a_append(
guint8* data,
gsize size);
gsize size)
NFCD_EXPORT;

gboolean
nfc_crc_a_check_tail(
const guint8* data,
gsize len);
gsize len)
NFCD_EXPORT;

/* CRC_B [ISO/IEC_13239] */

guint16
nfc_crc_b(
const guint8* data,
gsize len);
gsize len)
NFCD_EXPORT;

void
nfc_crc_b_append(
guint8* data,
gsize size);
gsize size)
NFCD_EXPORT;

gboolean
nfc_crc_b_check_tail(
const guint8* data,
gsize len);
gsize len)
NFCD_EXPORT;

G_END_DECLS

Expand Down

0 comments on commit c986f2e

Please sign in to comment.