Date: Thursday, December 22, 2005 @ 15:20:50
Author: marc
Path: /cvsroot/carob/carob
Modified: include/ConnectionParameters.hpp (1.10 -> 1.11)
src/ConnectionParameters.cpp (1.8 -> 1.9)
Reworked constructor to use a functional style (const fields etc.)
----------------------------------+
include/ConnectionParameters.hpp | 38 ++++++++++++++-------------------
src/ConnectionParameters.cpp | 42 ++++++++++++++++---------------------
2 files changed, 36 insertions(+), 44 deletions(-)
Index: carob/include/ConnectionParameters.hpp
diff -u carob/include/ConnectionParameters.hpp:1.10
carob/include/ConnectionParameters.hpp:1.11
--- carob/include/ConnectionParameters.hpp:1.10 Thu Dec 22 14:51:29 2005
+++ carob/include/ConnectionParameters.hpp Thu Dec 22 15:20:50 2005
@@ -38,7 +38,7 @@
/**
* Constants for connection defaults
*/
-#define DEFAULT_PORT (inetport_t)25322
+#define DEFAULT_PORT ((inetport_t)25322)
#define DEFAULT_HOST L"localhost"
#define DEFAULT_USER L"user"
#define DEFAULT_PASSWD L""
@@ -70,51 +70,47 @@
* Validates database name. If invalid returns false and set param char to
the
* first invalid character.
*/
- bool isValidDatabaseName(const std::wstring&, wchar_t&) const;
+ static bool isValidDatabaseName(const std::wstring&, wchar_t&);
/**
* Validates host name. If invalid returns false and set param char to the
* first invalid character.
*/
- bool isValidHostName(const std::wstring&, wchar_t&) const;
+ static bool isValidHostName(const std::wstring&, wchar_t&);
/** Gives the host name */
inline std::wstring getHostName() const { return hostName; }
- /** Sets the host name */
- void setHostName(const std::wstring&) throw
(ConnectionException, UnexpectedException);
+ /** Checks the host name */
+ static
+ const std::wstring& checkHostName(const std::wstring&)
+ throw (ConnectionException, UnexpectedException);
/** Gives the host port */
inline inetport_t getHostPort() const { return hostPort; }
- /** Sets the host port */
- inline void setHostPort(const inetport_t& p) { hostPort = p; }
/** Gives the database name */
inline std::wstring getDatabaseName() const { return databaseName; }
- /** Sets the database name */
- void setDatabaseName(const std::wstring&) throw
(ConnectionException, UnexpectedException);
+ /** Checks the database name */
+ static
+ const std::wstring& checkDatabaseName(const std::wstring&)
+ throw (ConnectionException, UnexpectedException);
/** Gives the user name */
inline std::wstring getUserName() const { return userName; }
- /** Sets the user name */
- inline void setUserName(const std::wstring& name) { userName = name;
}
/** Gives the user password */
inline std::wstring getUserPass() const { return userPass; }
- /** Sets the user password */
- inline void setUserPass(const std::wstring& pass) { userPass = pass;
}
/** Gives the debug level */
inline DebugLevel getDebugLevel() const { return debugLevel; }
- /** Sets the debug level */
- inline void setDebugLevel(const DebugLevel& dl) { debugLevel = dl; }
private:
/** String representation of the host name, fully qualified or IP address */
- std::wstring hostName;
+ const std::wstring hostName;
/** Host port */
- inetport_t hostPort;
+ const inetport_t hostPort;
/** Name of the database */
- std::wstring databaseName;
+ const std::wstring databaseName;
/** User name for database access */
- std::wstring userName;
+ const std::wstring userName;
/** User password for database access */
- std::wstring userPass;
+ const std::wstring userPass;
/** Connection debug level */
- DebugLevel debugLevel;
+ const DebugLevel debugLevel;
//TODO: ControllerInfo, ConnectionPolicy
};
Index: carob/src/ConnectionParameters.cpp
diff -u carob/src/ConnectionParameters.cpp:1.8
carob/src/ConnectionParameters.cpp:1.9
--- carob/src/ConnectionParameters.cpp:1.8 Thu Dec 22 14:51:29 2005
+++ carob/src/ConnectionParameters.cpp Thu Dec 22 15:20:50 2005
@@ -38,46 +38,42 @@
ConnectionParameters::ConnectionParameters(const wstring& host, const
inetport_t& port,
const wstring& db, const wstring&
uname,
const wstring& upass, const
DebugLevel& dl)
- throw (ConnectionException, UnexpectedException)
+ throw (ConnectionException, UnexpectedException) :
+ hostName(checkHostName(host)),
+ hostPort(port),
+ databaseName(checkDatabaseName(db)),
+ userName(uname),
+ userPass(upass),
+ debugLevel(dl)
{
- setHostName(host);
- setHostPort(port);
- setDatabaseName(db);
- setUserName(uname);
- setUserPass(upass);
- setDebugLevel(dl);
}
ConnectionParameters::~ConnectionParameters()
{
}
-void ConnectionParameters::setHostName(const wstring& hostNamePrm) throw
(ConnectionException, UnexpectedException)
+const wstring& ConnectionParameters::checkHostName(const wstring& hostNamePrm)
+ throw (ConnectionException, UnexpectedException)
{
wchar_t pbChar;
- hostName = hostNamePrm;
- if (!isValidHostName(hostName, pbChar))
+ if (!isValidHostName(hostNamePrm, pbChar))
{
- wstring msg = L"Invalid hostname "+hostName+L" at character
'"+(wchar_t)pbChar+L"'.";
- hostName = L"";
+ wstring msg = L"Invalid hostname "+hostNamePrm+L" at character
'"+(wchar_t)pbChar+L"'.";
throw ConnectionException(msg);
}
+ return hostNamePrm;
}
-void ConnectionParameters::setDatabaseName(const wstring& dbname) throw
(ConnectionException, UnexpectedException)
+const wstring& ConnectionParameters::checkDatabaseName(const wstring& dbname)
+ throw (ConnectionException, UnexpectedException)
{
wchar_t pbChar;
- if (isValidDatabaseName(dbname, pbChar))
- {
- databaseName = dbname;
- }
- else
- {
- throw ConnectionException(L"Invalid database name "+dbname+L" at character
'"+pbChar+L"'.");
- }
+ if (!isValidDatabaseName(dbname, pbChar))
+ throw ConnectionException(L"Invalid database name "+dbname+L" at
character '"+pbChar+L"'.");
+ return dbname;
}
-bool ConnectionParameters::isValidDatabaseName(const wstring& databaseName,
wchar_t& pbChar) const
+bool ConnectionParameters::isValidDatabaseName(const wstring& databaseName,
wchar_t& pbChar)
{
int size = databaseName.length();
wchar_t c;
@@ -95,7 +91,7 @@
return true;
}
-bool ConnectionParameters::isValidHostName(const wstring& hostNamePrm,
wchar_t& pbChar) const
+bool ConnectionParameters::isValidHostName(const wstring& hostNamePrm,
wchar_t& pbChar)
{
int size = hostNamePrm.length();
wchar_t c;
_______________________________________________
Carob-commits mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/carob-commits