LCOV - code coverage report
Current view: top level - netwerk/dns/mdns/libmdns - nsDNSServiceInfo.cpp (source / functions) Hit Total Coverage
Test: output.info Lines: 0 102 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 18 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
       2             : /* This Source Code Form is subject to the terms of the Mozilla Public
       3             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       4             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
       5             : 
       6             : #include "nsDNSServiceInfo.h"
       7             : #include "nsHashPropertyBag.h"
       8             : #include "nsIProperty.h"
       9             : #include "nsISimpleEnumerator.h"
      10             : #include "nsISupportsImpl.h"
      11             : #include "mozilla/Unused.h"
      12             : 
      13             : namespace mozilla {
      14             : namespace net {
      15             : 
      16           0 : NS_IMPL_ISUPPORTS(nsDNSServiceInfo, nsIDNSServiceInfo)
      17             : 
      18           0 : nsDNSServiceInfo::nsDNSServiceInfo(nsIDNSServiceInfo* aServiceInfo)
      19             : {
      20           0 :   if (NS_WARN_IF(!aServiceInfo)) {
      21           0 :     return;
      22             :   }
      23             : 
      24           0 :   nsAutoCString str;
      25             :   uint16_t value;
      26             : 
      27           0 :   if (NS_SUCCEEDED(aServiceInfo->GetHost(str))) {
      28           0 :     Unused << NS_WARN_IF(NS_FAILED(SetHost(str)));
      29             :   }
      30           0 :   if (NS_SUCCEEDED(aServiceInfo->GetAddress(str))) {
      31           0 :     Unused << NS_WARN_IF(NS_FAILED(SetAddress(str)));
      32             :   }
      33           0 :   if (NS_SUCCEEDED(aServiceInfo->GetPort(&value))) {
      34           0 :     Unused << NS_WARN_IF(NS_FAILED(SetPort(value)));
      35             :   }
      36           0 :   if (NS_SUCCEEDED(aServiceInfo->GetServiceName(str))) {
      37           0 :     Unused << NS_WARN_IF(NS_FAILED(SetServiceName(str)));
      38             :   }
      39           0 :   if (NS_SUCCEEDED(aServiceInfo->GetServiceType(str))) {
      40           0 :     Unused << NS_WARN_IF(NS_FAILED(SetServiceType(str)));
      41             :   }
      42           0 :   if (NS_SUCCEEDED(aServiceInfo->GetDomainName(str))) {
      43           0 :     Unused << NS_WARN_IF(NS_FAILED(SetDomainName(str)));
      44             :   }
      45             : 
      46           0 :   nsCOMPtr<nsIPropertyBag2> attributes; // deep copy
      47           0 :   if (NS_SUCCEEDED(aServiceInfo->GetAttributes(getter_AddRefs(attributes)))) {
      48           0 :     nsCOMPtr<nsISimpleEnumerator> enumerator;
      49           0 :     if (NS_WARN_IF(NS_FAILED(attributes->GetEnumerator(getter_AddRefs(enumerator))))) {
      50           0 :       return;
      51             :     }
      52             : 
      53           0 :     nsCOMPtr<nsIWritablePropertyBag2> newAttributes = new nsHashPropertyBag();
      54             : 
      55             :     bool hasMoreElements;
      56           0 :     while (NS_SUCCEEDED(enumerator->HasMoreElements(&hasMoreElements)) &&
      57             :            hasMoreElements) {
      58           0 :       nsCOMPtr<nsISupports> element;
      59             :       Unused <<
      60           0 :         NS_WARN_IF(NS_FAILED(enumerator->GetNext(getter_AddRefs(element))));
      61           0 :       nsCOMPtr<nsIProperty> property = do_QueryInterface(element);
      62           0 :       MOZ_ASSERT(property);
      63             : 
      64           0 :       nsAutoString name;
      65           0 :       nsCOMPtr<nsIVariant> value;
      66           0 :       Unused << NS_WARN_IF(NS_FAILED(property->GetName(name)));
      67           0 :       Unused << NS_WARN_IF(NS_FAILED(property->GetValue(getter_AddRefs(value))));
      68           0 :       nsAutoCString valueStr;
      69           0 :       Unused << NS_WARN_IF(NS_FAILED(value->GetAsACString(valueStr)));
      70             : 
      71           0 :       Unused << NS_WARN_IF(NS_FAILED(newAttributes->SetPropertyAsACString(name, valueStr)));
      72             :     }
      73             : 
      74           0 :     Unused << NS_WARN_IF(NS_FAILED(SetAttributes(newAttributes)));
      75             :   }
      76             : }
      77             : 
      78             : NS_IMETHODIMP
      79           0 : nsDNSServiceInfo::GetHost(nsACString& aHost)
      80             : {
      81           0 :   if (!mIsHostSet) {
      82           0 :     return NS_ERROR_NOT_INITIALIZED;
      83             :   }
      84           0 :   aHost = mHost;
      85           0 :   return NS_OK;
      86             : }
      87             : 
      88             : NS_IMETHODIMP
      89           0 : nsDNSServiceInfo::SetHost(const nsACString& aHost)
      90             : {
      91           0 :   mHost = aHost;
      92           0 :   mIsHostSet = true;
      93           0 :   return NS_OK;
      94             : }
      95             : 
      96             : NS_IMETHODIMP
      97           0 : nsDNSServiceInfo::GetAddress(nsACString& aAddress)
      98             : {
      99           0 :   if (!mIsAddressSet) {
     100           0 :     return NS_ERROR_NOT_INITIALIZED;
     101             :   }
     102           0 :   aAddress = mAddress;
     103           0 :   return NS_OK;
     104             : }
     105             : 
     106             : NS_IMETHODIMP
     107           0 : nsDNSServiceInfo::SetAddress(const nsACString& aAddress)
     108             : {
     109           0 :   mAddress = aAddress;
     110           0 :   mIsAddressSet = true;
     111           0 :   return NS_OK;
     112             : }
     113             : 
     114             : NS_IMETHODIMP
     115           0 : nsDNSServiceInfo::GetPort(uint16_t* aPort)
     116             : {
     117           0 :   if (NS_WARN_IF(!aPort)) {
     118           0 :     return NS_ERROR_INVALID_ARG;
     119             :   }
     120           0 :   if (!mIsPortSet) {
     121           0 :     return NS_ERROR_NOT_INITIALIZED;
     122             :   }
     123           0 :   *aPort = mPort;
     124           0 :   return NS_OK;
     125             : }
     126             : 
     127             : NS_IMETHODIMP
     128           0 : nsDNSServiceInfo::SetPort(uint16_t aPort)
     129             : {
     130           0 :   mPort = aPort;
     131           0 :   mIsPortSet = true;
     132           0 :   return NS_OK;
     133             : }
     134             : 
     135             : NS_IMETHODIMP
     136           0 : nsDNSServiceInfo::GetServiceName(nsACString& aServiceName)
     137             : {
     138           0 :   if (!mIsServiceNameSet) {
     139           0 :     return NS_ERROR_NOT_INITIALIZED;
     140             :   }
     141           0 :   aServiceName = mServiceName;
     142           0 :   return NS_OK;
     143             : }
     144             : 
     145             : NS_IMETHODIMP
     146           0 : nsDNSServiceInfo::SetServiceName(const nsACString& aServiceName)
     147             : {
     148           0 :   mServiceName = aServiceName;
     149           0 :   mIsServiceNameSet = true;
     150           0 :   return NS_OK;
     151             : }
     152             : 
     153             : NS_IMETHODIMP
     154           0 : nsDNSServiceInfo::GetServiceType(nsACString& aServiceType)
     155             : {
     156           0 :   if (!mIsServiceTypeSet) {
     157           0 :     return NS_ERROR_NOT_INITIALIZED;
     158             :   }
     159           0 :   aServiceType = mServiceType;
     160           0 :   return NS_OK;
     161             : }
     162             : 
     163             : NS_IMETHODIMP
     164           0 : nsDNSServiceInfo::SetServiceType(const nsACString& aServiceType)
     165             : {
     166           0 :   mServiceType = aServiceType;
     167           0 :   mIsServiceTypeSet = true;
     168           0 :   return NS_OK;
     169             : }
     170             : 
     171             : NS_IMETHODIMP
     172           0 : nsDNSServiceInfo::GetDomainName(nsACString& aDomainName)
     173             : {
     174           0 :   if (!mIsDomainNameSet) {
     175           0 :     return NS_ERROR_NOT_INITIALIZED;
     176             :   }
     177           0 :   aDomainName = mDomainName;
     178           0 :   return NS_OK;
     179             : }
     180             : 
     181             : NS_IMETHODIMP
     182           0 : nsDNSServiceInfo::SetDomainName(const nsACString& aDomainName)
     183             : {
     184           0 :   mDomainName = aDomainName;
     185           0 :   mIsDomainNameSet = true;
     186           0 :   return NS_OK;
     187             : }
     188             : 
     189             : NS_IMETHODIMP
     190           0 : nsDNSServiceInfo::GetAttributes(nsIPropertyBag2** aAttributes)
     191             : {
     192           0 :   if (!mIsAttributesSet) {
     193           0 :     return NS_ERROR_NOT_INITIALIZED;
     194             :   }
     195           0 :   nsCOMPtr<nsIPropertyBag2> attributes(mAttributes);
     196           0 :   attributes.forget(aAttributes);
     197           0 :   return NS_OK;
     198             : }
     199             : 
     200             : NS_IMETHODIMP
     201           0 : nsDNSServiceInfo::SetAttributes(nsIPropertyBag2* aAttributes)
     202             : {
     203           0 :   mAttributes = aAttributes;
     204           0 :   mIsAttributesSet = aAttributes ? true : false;
     205           0 :   return NS_OK;
     206             : }
     207             : 
     208             : } // namespace net
     209             : } // namespace mozilla

Generated by: LCOV version 1.13