dimil / nfcd Goto Github PK
View Code? Open in Web Editor NEWMozilla NFC Daemon
Mozilla NFC Daemon
The lib folder contains
libnfc-nci.so, (https://bugzilla.mozilla.org/show_bug.cgi?id=906577)
and nfc_nci.mako.so (https://bugzilla.mozilla.org/show_bug.cgi?id=906590)
When these two bugs land, we should remove the lib folder.
The README doesn't contain the correct information about this repository.
Currently Android.mk is written by assuming nfcd is located in B2G/system,
but in fact it could be located in any folder under B2G.
We should remove those absolute paths inside Android.mk
Current the naming of API is not consistent with other class
Ex.
static void nfc_service_send_MSG_LLCP_LINK_ACTIVATION(void* pDevice);
static void nfc_service_send_MSG_LLCP_LINK_DEACTIVATION(void* pDevice);
static void nfc_service_send_MSG_NDEF_TAG(void* pTag);
static void nfc_service_send_MSG_SE_FIELD_ACTIVATED();
static void nfc_service_send_MSG_SE_FIELD_DEACTIVATED();
static void nfc_service_send_MSG_SE_NOTIFY_TRANSACTION_LISTENERS();
should rename the API
nfc daemon should handle NDEF read detail request from gecko
From the specification v1.4, there's a INIT_PDU sent to gonk when gonk connects to the nfcd.
We should add a INIT_PDU.
Currently the daemon still needs jansson (a JSON library written in C) to parse JSON message, when https://bugzilla.mozilla.org/show_bug.cgi?id=902051 is landed, we should remove jansson library.
There are two classes
seems doing Tag things.
I am guessing one of them should be removed.
There are many classes which is prefix with Native.
Native here doesn't have any meaning, we should remove the 'Native' prefix.
nfc daemon should handle NDEF push request from gecko
nfc daemon should handle NDEF write request from gecko
Generic code is put under /src
Chip-specific code is put under /src/xxx
Should define a more clear interface , so vendor or mozilla side can know what interface should be implemented to support a new chip
libnci is not a good name here, because it's the glue code between the actual NCI library( which could be libnfc-nci).
We'd rename it and consider moving it to other folder.
From the protocol specification between Gonk, we also need another parameter called 'sessionId', and this session id is valid between a tech-discovered and a tech-lost notification.
use vector just because need to know the size of array.
We did not use other function provided by vector
Change to a self-define structure with pointer to byte array and record the size is more efficient
nfc daemon should handle NDEF read request from gecko.
Currently the nfcd already contains the logic to handle this request, but not yet verified.
Should establish p2p connection when nfcd receive this notification
nfcd should process this notification and inform GAIA
There are some API need to be support after LLCP link is established
Those API can be reference from Android
Need also implemented in nfcd
When setting page disable NFC function.
nfcd process should be killed.
Also need to make sure resource is release when process terminted
nfcd already contains the logic about it, but not yet verify with tag device
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.