Open network service discovery API

Add support for DNS based network service discovery API. This
allows applications to discover and resolve applications on a
local network such as Wi-Fi

Change-Id: Ie89895edd35d12b7f7a23fb5fed36cb2b2079f7a
This commit is contained in:
Irfan Sheriff
2012-04-13 12:15:41 -07:00
parent 287e63bbb6
commit 18da1320fe
3 changed files with 281 additions and 93 deletions

View File

@@ -167,6 +167,18 @@ public class NsdService extends INsdManager.Stub {
NsdManager.ERROR);
}
break;
case NsdManager.UNREGISTER_SERVICE:
if (DBG) Slog.d(TAG, "unregister service");
clientInfo = mClients.get(msg.replyTo);
int regId = msg.arg1;
if (clientInfo.mRegisteredIds.remove(new Integer(regId)) &&
unregisterService(regId)) {
mReplyChannel.replyToMessage(msg, NsdManager.UNREGISTER_SERVICE_SUCCEEDED);
} else {
mReplyChannel.replyToMessage(msg, NsdManager.UNREGISTER_SERVICE_FAILED,
NsdManager.ERROR);
}
break;
case NsdManager.UPDATE_SERVICE:
if (DBG) Slog.d(TAG, "Update service");
//TODO: implement
@@ -237,6 +249,8 @@ public class NsdService extends INsdManager.Stub {
}
public Messenger getMessenger() {
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.INTERNET,
"NsdService");
return new Messenger(mAsyncServiceHandler);
}