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: */
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"
25 #include "nsServiceManagerUtils.h"
26 #include "nsIObserverService.h"
28 /* Project includes */
29 #include "aaIResource.h"
30 #include "aaIHandler.h"
43 NS_IMPL_ISUPPORTS2(aaQuote
,
48 aaQuote::GetId(PRInt64
*aId
)
50 NS_ENSURE_ARG_POINTER(aId
);
55 aaQuote::SetId(PRInt64 aId
)
62 aaQuote::Accept(aaIHandler
* aQuery
)
64 NS_ENSURE_ARG_POINTER(aQuery
);
65 return aQuery
->HandleQuote(this);
69 aaQuote::GetEdited(PRBool
* aEdited
)
71 NS_ENSURE_ARG_POINTER(aEdited
);
78 aaQuote::GetResource(aaIResource
** aResource
)
80 NS_ENSURE_ARG_POINTER(aResource
);
81 NS_IF_ADDREF(*aResource
= mResource
);
85 aaQuote::SetResource(aaIResource
* aResource
)
87 mResource
= aResource
;
88 nsCOMPtr
<nsIObserverService
> broadcaster
= do_GetService(
89 "@mozilla.org/observer-service;1");
90 NS_ENSURE_TRUE(broadcaster
, NS_OK
);
91 broadcaster
->NotifyObservers(this, "quote-resource-change", nsnull
);
96 aaQuote::GetTime(PRTime
*aTime
)
98 NS_ENSURE_TRUE( mHasTime
, NS_ERROR_NOT_INITIALIZED
);
99 NS_ENSURE_ARG_POINTER( aTime
);
104 aaQuote::SetTime(PRTime aTime
)
112 aaQuote::GetRate(double *aRate
)
114 NS_ENSURE_ARG_POINTER(aRate
);
119 aaQuote::SetRate(double aRate
)