Mozilla/mozilla/extensions/sql/base/src/mozSqlConnection.h
varga%netscape.com 580d35b1c4 Landing SQL support. Bug 81653.
Not part of build.
a=brendan


git-svn-id: svn://10.0.0.236/trunk@136605 18797224-902f-48f8-a5cc-f745e15eee43
2003-01-18 19:14:51 +00:00

54 lines
1.5 KiB
C++

#ifndef mozSqlConnection_h
#define mozSqlConnection_h
#include "prcvar.h"
#include "nsString.h"
#include "nsCOMArray.h"
#include "nsWeakReference.h"
#include "nsIThread.h"
#include "nsIRunnable.h"
#include "mozISqlConnection.h"
#include "mozISqlRequest.h"
#include "mozISqlResult.h"
class mozSqlConnection : public mozISqlConnection,
public nsIRunnable,
public nsSupportsWeakReference
{
public:
mozSqlConnection();
virtual ~mozSqlConnection();
NS_DECL_ISUPPORTS
NS_DECL_MOZISQLCONNECTION
NS_DECL_NSIRUNNABLE
friend class mozSqlRequest;
friend class mozSqlResult;
protected:
virtual nsresult RealExec(const nsAString& aQuery,
mozISqlResult** aResult, PRInt32* aAffectedRows) = 0;
virtual nsresult CancelExec() = 0;
virtual nsresult GetIDName(nsAString& aIDName) = 0;
nsresult CancelRequest(mozISqlRequest* aRequest);
nsString mServerVersion;
nsString mErrorMessage;
PRInt32 mLastID;
PRLock* mLock;
PRCondVar* mCondVar;
PRLock* mExecLock;
nsCOMPtr<nsIThread> mThread;
nsCOMArray<mozISqlRequest> mRequests;
nsCOMPtr<mozISqlRequest> mCurrentRequest;
PRBool mShutdown;
PRBool mWaiting;
};
#endif // mozSqlConnection_h