Bug 325812 r=annie.sullivan Add annotation Int64, remove variant functions.

Original committer: brettw%gmail.com
Original revision: 1.8
Original date: 2006/02/07 22:57:56
This commit is contained in:
benjamin%smedbergs.us 2006-07-18 16:51:05 +00:00
Родитель 6a2beed5d5
Коммит 4193bb5cbc
1 изменённых файлов: 48 добавлений и 40 удалений

Просмотреть файл

@ -116,23 +116,6 @@ nsAnnotationService::Init()
}
// nsAnnotationService::SetAnnotation
NS_IMETHODIMP
nsAnnotationService::SetAnnotation(nsIURI* aURI,
const nsACString& aName,
nsIVariant *aValue,
PRInt32 aFlags, PRInt32 aExpiration)
{
if (! aValue)
return NS_ERROR_INVALID_ARG;
nsAutoString stringValue;
nsresult rv = aValue->GetAsAString(stringValue);
NS_ENSURE_SUCCESS(rv, rv);
return SetAnnotationString(aURI, aName, stringValue, aFlags, aExpiration);
}
// nsAnnotationService::SetAnnotationString
NS_IMETHODIMP
@ -229,6 +212,38 @@ nsAnnotationService::SetAnnotationInt64(nsIURI* aURI,
}
// nsAnnotationService::SetAnnotationDouble
NS_IMETHODIMP
nsAnnotationService::SetAnnotationDouble(nsIURI* aURI,
const nsACString& aName,
double aValue,
PRInt32 aFlags, PRInt32 aExpiration)
{
mozStorageTransaction transaction(mDBConn, PR_FALSE);
mozIStorageStatement* statement; // class var, not owned by this function
nsresult rv = StartSetAnnotation(aURI, aName, aFlags, aExpiration, &statement);
NS_ENSURE_SUCCESS(rv, rv);
mozStorageStatementScoper statementResetter(statement);
rv = statement->BindDoubleParameter(kAnnoIndex_Content, aValue);
NS_ENSURE_SUCCESS(rv, rv);
rv = statement->BindNullParameter(kAnnoIndex_MimeType);
NS_ENSURE_SUCCESS(rv, rv);
rv = statement->Execute();
NS_ENSURE_SUCCESS(rv, rv);
transaction.Commit();
// should reset the statement; observers may call our service back to get
// annotation values!
statement->Reset();
statementResetter.Abandon();
CallSetObservers(aURI, aName);
return NS_OK;
}
// nsAnnotationService::SetAnnotationBinary
NS_IMETHODIMP
@ -266,29 +281,6 @@ nsAnnotationService::SetAnnotationBinary(nsIURI* aURI,
}
// nsAnnotationService::GetAnnotation
NS_IMETHODIMP
nsAnnotationService::GetAnnotation(nsIURI* aURI,
const nsACString& aName,
nsIVariant** _retval)
{
nsAutoString stringValue;
nsresult rv = GetAnnotationString(aURI, aName, stringValue);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIWritableVariant> var = do_CreateInstance("@mozilla.org/variant;1",
&rv);
NS_ENSURE_SUCCESS(rv, rv);
rv = var->SetAsAString(stringValue);
NS_ENSURE_SUCCESS(rv, rv);
*_retval = var;
NS_ADDREF(*_retval);
return NS_OK;
}
// nsAnnotationService::GetAnnotationString
NS_IMETHODIMP
@ -337,6 +329,22 @@ nsAnnotationService::GetAnnotationInt64(nsIURI* aURI,
}
// nsAnnotationService::GetAnnotationDouble
NS_IMETHODIMP
nsAnnotationService::GetAnnotationDouble(nsIURI* aURI,
const nsACString& aName,
double *_retval)
{
nsresult rv = StartGetAnnotationFromURI(aURI, aName);
if (NS_FAILED(rv))
return rv;
*_retval = mDBGetAnnotationFromURI->AsDouble(kAnnoIndex_Content);
mDBGetAnnotationFromURI->Reset();
return NS_OK;
}
// nsAnnotationService::GetAnnotationBinary
NS_IMETHODIMP