transport: pass correct channel
[abstract.git] / report / aaBalanceSheet.cpp
blobe9bac2328a025fd8034367ec9c01c9d256eef7d0
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim:set ts=2 sw=2 sts=2 et cindent tw=79 ft=cpp: */
3 /*
4 * Copyright (C) 2007 Sergey Yanovich <ynvich@gmail.com>
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License as
8 * published by the Free Software Foundation; either version 2 of the
9 * License, or (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
16 * You should have received a copy of the GNU General Public
17 * License along with this program; if not, write to the
18 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 * Boston, MA 02111-1307, USA.
22 #include "xpcom-config.h"
24 #include "nsCOMPtr.h"
25 #include "nsComponentManagerUtils.h"
26 #include "nsStringAPI.h"
28 /* Unfrozen API */
30 /* Project includes */
31 #include "aaIBalance.h"
32 #include "aaBalanceSheet.h"
34 aaBalanceSheet::aaBalanceSheet(aaIBalanceSheetParam *aParam)
35 :mAssets(0.0), mLiabilities(0.0)
37 init(aParam);
40 NS_IMPL_ISUPPORTS2(aaBalanceSheet,
41 nsIArray,
42 aaIBalanceSheet)
44 nsresult
45 aaBalanceSheet::init(aaIBalanceSheetParam *aParam)
47 NS_ENSURE_ARG_POINTER(aParam);
48 nsresult rv;
49 rv = aParam->GetDate(&mDate);
50 NS_ENSURE_SUCCESS(rv, rv);
52 return NS_OK;
55 /* nsIArray */
56 NS_IMETHODIMP
57 aaBalanceSheet::GetLength(PRUint32 *aLength)
59 NS_ENSURE_ARG_POINTER(aLength);
60 *aLength = mList.Count();
61 return NS_OK;
64 NS_IMETHODIMP
65 aaBalanceSheet::QueryElementAt(PRUint32 index, const nsIID & uuid,
66 void * *result)
68 NS_ENSURE_ARG_POINTER(result);
69 NS_ENSURE_TRUE(index < (PRUint32) mList.Count(), NS_ERROR_INVALID_ARG);
70 return mList[index]->QueryInterface(uuid, result);
73 NS_IMETHODIMP
74 aaBalanceSheet::IndexOf(PRUint32 startIndex, nsISupports *element,
75 PRUint32 *_retval)
77 return NS_ERROR_NOT_IMPLEMENTED;
80 NS_IMETHODIMP
81 aaBalanceSheet::Enumerate(nsISimpleEnumerator **_retval)
83 return NS_ERROR_NOT_IMPLEMENTED;
86 /* aaIBalanceSheet */
87 NS_IMETHODIMP
88 aaBalanceSheet::GetTotalAssets(double *aTotalAssets)
90 NS_ENSURE_ARG_POINTER(aTotalAssets);
91 *aTotalAssets = mAssets;
92 return NS_OK;
95 NS_IMETHODIMP
96 aaBalanceSheet::GetTotalLiabilities(double *aTotalLiabilities)
98 NS_ENSURE_ARG_POINTER(aTotalLiabilities);
99 *aTotalLiabilities = mLiabilities;
100 return NS_OK;