diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-01-30 13:52:13 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-01-30 16:23:04 +0100 |
commit | 9449f151d0ccf3ac755d5f2bd9b4057ae2b03157 (patch) | |
tree | ada21dc6aa0b146c62a7561a08fb51fe4a8922ee /mDNSResponder/mDNSWindows/DLLX/DNSSDRecord.h | |
parent | DHCPCD(8): Add MASTER_ONLY option (diff) | |
download | rtems-libbsd-9449f151d0ccf3ac755d5f2bd9b4057ae2b03157.tar.bz2 |
mDNS: Import
The sources can be obtained via:
http://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-544.tar.gz
Diffstat (limited to 'mDNSResponder/mDNSWindows/DLLX/DNSSDRecord.h')
-rwxr-xr-x | mDNSResponder/mDNSWindows/DLLX/DNSSDRecord.h | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/mDNSResponder/mDNSWindows/DLLX/DNSSDRecord.h b/mDNSResponder/mDNSWindows/DLLX/DNSSDRecord.h new file mode 100755 index 00000000..bdedda50 --- /dev/null +++ b/mDNSResponder/mDNSWindows/DLLX/DNSSDRecord.h @@ -0,0 +1,185 @@ +/* -*- Mode: C; tab-width: 4 -*- + * + * Copyright (c) 2009 Apple Computer, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +#pragma once + +#include "resource.h" // main symbols + + + +#include "DLLX.h" + +#include "DNSSDService.h" + +#include <dns_sd.h> + + + + + +#if defined(_WIN32_WCE) && !defined(_CE_DCOM) && !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA) + +#error "Single-threaded COM objects are not properly supported on Windows CE platform, such as the Windows Mobile platforms that do not include full DCOM support. Define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA to force ATL to support creating single-thread COM object's and allow use of it's single-threaded COM object implementations. The threading model in your rgs file was set to 'Free' as that is the only threading model supported in non DCOM Windows CE platforms." + +#endif + + + + + + + +// CDNSSDRecord + + + +class ATL_NO_VTABLE CDNSSDRecord : + + public CComObjectRootEx<CComSingleThreadModel>, + + public CComCoClass<CDNSSDRecord, &CLSID_DNSSDRecord>, + + public IDispatchImpl<IDNSSDRecord, &IID_IDNSSDRecord, &LIBID_Bonjour, /*wMajor =*/ 1, /*wMinor =*/ 0> + +{ + +public: + + CDNSSDRecord() + + { + + } + + + +DECLARE_REGISTRY_RESOURCEID(IDR_DNSSDRECORD) + + + + + +BEGIN_COM_MAP(CDNSSDRecord) + + COM_INTERFACE_ENTRY(IDNSSDRecord) + + COM_INTERFACE_ENTRY(IDispatch) + +END_COM_MAP() + + + + + + + + DECLARE_PROTECT_FINAL_CONSTRUCT() + + + + HRESULT FinalConstruct() + + { + + return S_OK; + + } + + + + void FinalRelease() + + { + + } + + + + inline CDNSSDService* + + GetServiceObject() + + { + + return m_serviceObject; + + } + + + + inline void + + SetServiceObject( CDNSSDService * serviceObject ) + + { + + m_serviceObject = serviceObject; + + } + + + + inline DNSRecordRef + + GetRecordRef() + + { + + return m_rref; + + } + + + + inline void + + SetRecordRef( DNSRecordRef rref ) + + { + + m_rref = rref; + + } + + + +public: + + + + STDMETHOD(Update)(DNSSDFlags flags, VARIANT rdata, ULONG ttl); + + STDMETHOD(Remove)(DNSSDFlags flags); + + + +private: + + + + CDNSSDService * m_serviceObject; + + DNSRecordRef m_rref; + +}; + + + +OBJECT_ENTRY_AUTO(__uuidof(DNSSDRecord), CDNSSDRecord) + |