diff options
author | Alon Levy <alevy@redhat.com> | 2011-01-08 10:28:15 +0200 |
---|---|---|
committer | Alon Levy <alevy@redhat.com> | 2011-01-08 14:44:23 +0200 |
commit | 5244989a06583a7d4f8729835a2171ed80fee6e8 (patch) | |
tree | 92c828a760d248bd1f2875c9035717825096c4d9 | |
parent | 3bd0f9f397f05e41d688921139b0879b36ab9ca0 (diff) |
vreader: add vreader_queue_card_event
-rw-r--r-- | vreader.c | 15 | ||||
-rw-r--r-- | vreader.h | 1 |
2 files changed, 14 insertions, 2 deletions
@@ -484,6 +484,18 @@ vreader_remove_reader(VReader *reader) return VREADER_OK; } +/* + * Generate VEVENT_CARD_INSERT or VEVENT_CARD_REMOVE based on vreader + * state. Separated from vreader_insert_card to allow replaying events + * for a given state. + */ +void +vreader_queue_card_event(VReader *reader) +{ + vevent_queue_vevent(vevent_new( + reader->card ? VEVENT_CARD_INSERT : VEVENT_CARD_REMOVE, reader, + reader->card)); +} /* * insert/remove a new card. for removal, card == NULL @@ -499,8 +511,7 @@ vreader_insert_card(VReader *reader, VCard *card) } reader->card = vcard_reference(card); vreader_unlock(reader); - vevent_queue_vevent(vevent_new( - card ? VEVENT_CARD_INSERT : VEVENT_CARD_REMOVE, reader, card)); + vreader_queue_card_event(reader); return VREADER_OK; } @@ -29,6 +29,7 @@ void vreader_free(VReader *reader); /* accessors */ VReaderEmul *vreader_get_private(VReader *); VReaderStatus vreader_card_is_present(VReader *reader); +void vreader_queue_card_event(VReader *reader); const char *vreader_get_name(VReader *reader); vreader_id_t vreader_get_id(VReader *reader); VReaderStatus vreader_set_id(VReader *reader, vreader_id_t id); |