Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(130)

Unified Diff: frog/lib/node/dns.dart

Issue 9034014: Add support for the node net module. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: new version of minfrog Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: frog/lib/node/dns.dart
===================================================================
--- frog/lib/node/dns.dart (revision 0)
+++ frog/lib/node/dns.dart (revision 0)
@@ -0,0 +1,100 @@
+// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+#library('dns');
+#import('node.dart');
+#import('nodeimpl.dart');
+
+// module dns
+
+typedef void DnsLookupCallback(Error err, String address, int family);
+typedef void DnsResolveCallback(Error err, List addresses);
+typedef void DnsResolve4Callback(Error err, List<String> addresses);
+typedef void DnsResolve6Callback(Error err, List<String> addresses);
+typedef void DnsResolveMxCallback(Error err, List<Map<String,String>> addresses);
+typedef void DnsResolveTxtCallback(Error err, List<String> addresses);
+typedef void DnsResolveSrvCallback(Error err, List<Map<String, Object>> addresses);
+typedef void DnsReverseCallback(Error err, List<String> domains);
+typedef void DnsResolveNsCallback(Error err, List<String> addresses);
+typedef void DnsResolveCnameCallback(Error err, List<String> addresses);
+
+class Dns {
+ final BADNAME = 'EBADNAME';
+ final BADRESP = 'EBADRESP';
+ final CONNREFUSED = 'ECONNREFUSED';
+ final DESTRUCTION = 'EDESTRUCTION';
+ final REFUSED = 'EREFUSED';
+ final FORMERR = 'EFORMERR';
+ final NODATA = 'ENODATA';
+ final NOMEM = 'ENOMEM';
+ final NOTFOUND = 'ENOTFOUND';
+ final NOTIMP = 'ENOTIMP';
+ final SERVFAIL = 'ESERVFAIL';
+ final TIMEOUT = 'ETIMEOUT';
+
+ var _dns;
+ Dns._from(var this._dns);
+
+ void lookup(String domain, int family, DnsLookupCallback callback)
+ native "this._dns.lookup(domain, family, callback);";
+
+ void resolve(String domain, String rrtype, DnsResolveCallback callback)
+ => _resolve(domain, rrtype, (Error err, address)
+ => callback(err, new NativeListPrimitiveElement<Object>(address)));
+ void _resolve(String domain, String rrtype, void callback(Error err, var address))
+ native "this._dns.resolve(domain, rrtype, callback)";
+
+ void resolve4(String domain, DnsResolve4Callback callback)
+ => _resolve4(domain, (Error err, var addresses)
+ => callback(err, new NativeListPrimitiveElement<String>(addresses)));
+ void _resolve4(String domain, void callback(Error err, var addresses))
+ native "this._dns.resolve4(domain, callback)";
+
+ void resolve6(String domain, DnsResolve6Callback callback)
+ => _resolve6(domain, (Error err, address)
+ => callback(err, new NativeListPrimitiveElement<String>(address)));
+ void _resolve6(String domain, void callback(Error err, var address))
+ native "this._dns.resolve6(domain, callback)";
+
+ void resolveMx(String domain, DnsResolveMxCallback callback)
+ => _resolveMx(domain, (Error err, address)
+ => callback(err, new NativeList<Map<String,String>>(address, (var element)
+ => new NativeMapPrimitiveValue<String>(element))));
+ void _resolveMx(String domain, void callback(Error err, var address))
+ native "this._dns.resolveMx(domain, callback)";
+
+ void resolveTxt(String domain, DnsResolveTxtCallback callback)
+ => _resolveTxt(domain, (Error err, address)
+ => callback(err, new NativeListPrimitiveElement<String>(address)));
+ void _resolveTxt(String domain, void callback(Error err, var address))
+ native "this._dns.resolveTxt(domain, callback)";
+
+ void resolveSrv(String domain, DnsResolveSrvCallback callback)
+ => _resolveSrv(domain, (Error err, address)
+ => callback(err, new NativeList<Map<String,Object>>(address, (var element)
+ => new NativeMapPrimitiveValue<Object>(element))));
+ void _resolveSrv(String domain, void callback(Error err, var address))
+ native "this._dns.resolveSrv(domain, callback)";
+
+ void reverse(String ip, DnsReverseCallback callback)
+ => _reverse(ip, (Error err, domains)
+ => callback(err, new NativeListPrimitiveElement<String>(domains)));
+ void _reverse(String ip, void callback(Error err, var domains))
+ native "this._dns.reverse(ip, callback)";
+
+ void resolveNs(String domain, DnsResolveNsCallback callback)
+ => _resolveNs(domain, (Error err, address)
+ => callback(err, new NativeListPrimitiveElement<String>(address)));
+ void _resolveNs(String domain, void callback(Error err, var address))
+ native "this._dns.resolveNs(domain, callback)";
+
+ void resolveCname(String domain, DnsResolveCnameCallback callback)
+ => _resolveCname(domain, (Error err, address)
+ => callback(err, new NativeListPrimitiveElement<String>(address)));
+ void _resolveCname(String domain, void callback(Error err, var address))
+ native "this._dns.resolveCname(domain, callback)";
+
+}
+
+Dns get dns() => new Dns._from(require('dns'));
« no previous file with comments | « frog/lib/node/crypto.dart ('k') | frog/lib/node/fs.dart » ('j') | frog/lib/node/net.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698