LCOV - code coverage report
Current view: top level - storage - mozStorageResultSet.cpp (source / functions) Hit Total Coverage
Test: output.info Lines: 12 15 80.0 %
Date: 2017-07-14 16:53:18 Functions: 6 7 85.7 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
       2             :  * vim: sw=2 ts=2 et lcs=trail\:.,tab\:>~ :
       3             :  * This Source Code Form is subject to the terms of the Mozilla Public
       4             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       5             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
       6             : 
       7             : #include "mozStorageRow.h"
       8             : #include "mozStorageResultSet.h"
       9             : 
      10             : namespace mozilla {
      11             : namespace storage {
      12             : 
      13             : ////////////////////////////////////////////////////////////////////////////////
      14             : //// ResultSet
      15             : 
      16           3 : ResultSet::ResultSet()
      17           3 : : mCurrentIndex(0)
      18             : {
      19           3 : }
      20             : 
      21           0 : ResultSet::~ResultSet()
      22             : {
      23           0 :   mData.Clear();
      24           0 : }
      25             : 
      26             : nsresult
      27           4 : ResultSet::add(mozIStorageRow *aRow)
      28             : {
      29           4 :   return mData.AppendObject(aRow) ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
      30             : }
      31             : 
      32             : /**
      33             :  * Note:  This object is only ever accessed on one thread at a time.  It it not
      34             :  *        threadsafe, but it does need threadsafe AddRef and Release.
      35             :  */
      36          42 : NS_IMPL_ISUPPORTS(
      37             :   ResultSet,
      38             :   mozIStorageResultSet
      39             : )
      40             : 
      41             : ////////////////////////////////////////////////////////////////////////////////
      42             : //// mozIStorageResultSet
      43             : 
      44             : NS_IMETHODIMP
      45           7 : ResultSet::GetNextRow(mozIStorageRow **_row)
      46             : {
      47           7 :   NS_ENSURE_ARG_POINTER(_row);
      48             : 
      49           7 :   if (mCurrentIndex >= mData.Count()) {
      50             :     // Just return null here
      51           3 :     return NS_OK;
      52             :   }
      53             : 
      54           4 :   NS_ADDREF(*_row = mData.ObjectAt(mCurrentIndex++));
      55           4 :   return NS_OK;
      56             : }
      57             : 
      58             : } // namespace storage
      59             : } // namespace mozilla

Generated by: LCOV version 1.13