From 896f97afa53b89d062816b9acd1af03420e29ece Mon Sep 17 00:00:00 2001 From: frankmorgner Date: Wed, 11 Apr 2012 13:55:11 +0000 Subject: [PATCH] added pictures, should be updated git-svn-id: https://vsmartcard.svn.sourceforge.net/svnroot/vsmartcard@748 96b47cad-a561-4643-ad3b-153ac7d7599c --- doc/_static/nfc-emulator-arch.jpeg | Bin 0 -> 24531 bytes doc/_static/nfc-emulator.jpeg | Bin 0 -> 22781 bytes doc/_static/usb-emulator-arch.jpeg | Bin 0 -> 27102 bytes doc/_static/usb-emulator.jpeg | Bin 0 -> 25017 bytes doc/_static/vsmartcard.jpeg | Bin 0 -> 18024 bytes doc/index.rst | 38 +++++++++++++++++++++++++++-- 6 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 doc/_static/nfc-emulator-arch.jpeg create mode 100644 doc/_static/nfc-emulator.jpeg create mode 100644 doc/_static/usb-emulator-arch.jpeg create mode 100644 doc/_static/usb-emulator.jpeg create mode 100644 doc/_static/vsmartcard.jpeg diff --git a/doc/_static/nfc-emulator-arch.jpeg b/doc/_static/nfc-emulator-arch.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4d88f84e23ce0f753e638f6c4690ccc7ebe7dd53 GIT binary patch literal 24531 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%0DXaSe7RV;fiUfIaWZxcoxj>XKe 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 literal 0 HcmV?d00001 diff --git a/doc/_static/nfc-emulator.jpeg b/doc/_static/nfc-emulator.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..6db01f40371566a6ff54af4a04e7243a2571e7fb GIT binary patch literal 22781 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 z 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 literal 0 HcmV?d00001 diff --git a/doc/_static/usb-emulator-arch.jpeg b/doc/_static/usb-emulator-arch.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b264b30fb14a18b0997055d6e5a2678866209cb4 GIT binary patch literal 27102 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 b0{r71@U}n~N*4LSJM(X@`kntQ`||R?Thq!0 literal 0 HcmV?d00001 diff --git a/doc/_static/usb-emulator.jpeg b/doc/_static/usb-emulator.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9c3110cc0ebd009d43f94faf627cc37d0b562997 GIT binary patch literal 25017 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 literal 0 HcmV?d00001 diff --git a/doc/index.rst b/doc/index.rst index 6944dd6..f2492a3 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -3,7 +3,14 @@ Welcome to the |vsmartcard| documentation! ========================================================== -Welcome to the |vsmartcard|. |vsmartcard| is an umbrella project for various projects concerned with the emulation of different types of smart card readers or smart cards themselves. +Welcome to the |vsmartcard|. |vsmartcard| is an umbrella project for various +projects concerned with the emulation of different types of smart card readers +or smart cards themselves. + +.. image:: _static/vsmartcard.jpeg + :alt: |vsmartcard| connects different aspects of smart card handling + :scale: 50% + :align: center Currently the following projects are part of |vsmartcard|: @@ -20,11 +27,38 @@ functionality of some library? Apart from requesting a new feature, you can have a look at these programming guides and try yourself: .. toctree:: - :titlesonly: + :maxdepth: 1 virtualsmartcard/api npa/api + +Example Use Cases +----------------- + +Mobile Phone with Virtual Smartcard connected via NFC +***************************************************** + +.. image:: _static/nfc-emulator.jpeg + :alt: Overview + :width: 320px + +.. image:: _static/nfc-emulator-arch.jpeg + :alt: Architecture + :width: 320px + +Mobile Phone with Virtual Smartcard connected via USB +***************************************************** + +.. image:: _static/usb-emulator.jpeg + :alt: Overview + :width: 320px + +.. image:: _static/usb-emulator-arch.jpeg + :alt: Architecture + :width: 320px + + Download ========