$CLASSNAME$
	CODBLIST
$SUMMARY$
	CODB Class are destined to control of the list accessibile dictionary.

	In yours system (computer, local network, VPN, internet) may be many
	CODB data sourses (in configuration by default 32,000,000 ). CODB it is
	those class what provide DB supporting with methods description for
	access to certain CODB.

	The information keeping into $CLIPROOT/etc/codb.dbf
$LANG_RU$
	CODB       .

	   (,  , VPN, internet)  
	 CODB   (    - 32000000).
	codbList    ,     c 
	    CODB.
	   $CLIPROOT/etc/codb.dbf

$ABOUT$
	CODB Class are destined to control of the list accessibile dictionary.

	In yours system (computer, local network, VPN, internet) may be many
	CODB data sourses (in configuration by default 32,000,000 ). CODB it is
	those class what provide DB supporting with methods description for
	access to certain CODB.

	The information keeping into $CLIPROOT/etc/codb.dbf
$LANG_RU$
	CODB       .

	   (,  , VPN, internet)  
	 CODB   (    - 32000000).
	codbList    ,     c 
	    CODB.
	   $CLIPROOT/etc/codb.dbf

$SYNTAX$
	CODBListNew() --> CODB object
	CODBList:New()  --> CODB object
$ATTRIBUTES$
	<ClassName> 	CODBLIST
	<Error>		String, the error description what araised within running last operation.
$LANG_RU$
	<ClassName> 	CODBLIST
	<Error>		String,  ,     .

$METHODNAME$
	New()
$SUMMARY$
	Initiation new CODBLIST object.
$LANG_RU$
	   CODBLIST.
$SYNTAX$
	New() --> CODBLIST object
$ARGUMENTS$
$RETURNS$
	Method returns new CODBLIST object.
$LANG_RU$
	    CODBLIST.
$DESCRIPTION$
	New() inits new CODBLIST object and returns it.
$LANG_RU$
	New()    CODBLIST  .
$ENDMETHOD$

$METHODNAME$
	List()
$SUMMARY$
	Returns list CODB what registered in system.
$LANG_RU$
	   CODB.
$SYNTAX$
	List() 	--> <aList>
$ARGUMENTS$

$RETURNS$
	Returns list of registered CODB - <aList>.
$LANG_RU$
	   CODB - <aList>.
$DESCRIPTION$
	List() returns list of registered CODB - <aList>.
	Every element of <aList> is string what contain CODB identifier and
	CODB name via <:>
$LANG_RU$
	List()    CODB - <aList>.
	  <aList> -  ,  CODB  
	CODB   <:>
$ENDMETHOD$

$METHODNAME$
	ExistId()
$SUMMARY$
	Check CODB identifier into list accessible CODB.
$LANG_RU$
	 CODB     CODB.
$SYNTAX$
	ExistId(<sCodbId>) 	--> TRUE || FALSE
$ARGUMENTS$
	<sCodbId> String, the CODB identifier (english alpha-betical symbols and numerics)
$LANG_RU$
	<sCodbId> String, CODB  (    )
$RETURNS$
	Returns TRUE if CODB with identifier <sCodbId> is exist into list of registered CODB.
$LANG_RU$
	 TRUE  CODB   <sCodbId>   
	 CODB.
$DESCRIPTION$
	ExistId() returns TRUE if CODB with identifier <sCodbId> is exist into list of registered CODB.
	In other returns FALSE.

	<::Error> contain error descriptions if araised.
$LANG_RU$
	ExistId()  TRUE  CODB   <sCodbId>   
	 CODB.
	    FALSE.

	<::Error>   ,   .
$ENDMETHOD$

$METHODNAME$
	Append()
$SUMMARY$
	Add to list new CODB specifier.
$LANG_RU$
	     CODB.
$SYNTAX$
	Append(<oCodbData>) 	--> TRUE || FALSE
$ARGUMENTS$
	<oCodbData> Object, new CODB specifier.
$LANG_RU$
	<oCodbData> Object,   CODB.
$RETURNS$
	Returns TRUE if new CODB added.
$LANG_RU$
	 TRUE   CODB .
$DESCRIPTION$
	Append() returns TRUE if new CODB specifier added.
	The <oCodbData> must be contain property <ID>. This property specified
	CODB identifier.

	The <oCodbData> can be contain property <TYPE> - the type of dictionary.
	By default it is CODB_DICTTYPE_DEFAULT.
	If <TYPE> is "DBF", then <oCodbData> can be contain attribute <PATH> - full path to dbf
	file (by default it is /home/$USER/codb+<ID>)

	The properties of <oCodbData> see in file <"codbcfg.ch">
	<pre>ID - CODB identifier and this one  dictionary identifier (5 byte)
	NAME - CODB name
	TYPE - driver type to access to data:
		DBF - DBF (by default)
		MS  - MySQL
		PG  - Postgress
		OR  - Oracle
		IB  - Interbase and Firebird
		ODBC - ODBC data source
	PATH - path to data (only for DBF)
	HOST - name and IP address SQL server
	PORT - TCP port of SQL server
	USER - SQL-server user
	DBNAME - DB name into SQL server
	</pre>

	<::Error> contain error descriptions if araised.
$LANG_RU$
	Append()  TRUE,   CODB .
	<oCodbData>    <ID>.   
	CODB .

	<oCodbData>    <TYPE> -  .   
	 CODB_DICTTYPE_DEFAULT.
	 <TYPE>  "DBF",  <oCodbData>      : <PATH> -
	    dbf ( : /home/$USER/codb+<ID>)

	  <oCodbData> .   <"codbcfg.ch">
	<pre>
	ID -  CODB,      (5 )
	NAME -  CODB
	TYPE -     :
		DBF -  
		MS  - MySQL
		PG  - Postgress
		OR  - Oracle
		IB  - Interbase and Firebird
		ODBC - ODBC data source
	PATH -       (  DBF)
	HOST -   IP   c SQL 
	PORT - TCP  SQL 
	USER -  SQL-
	DBNAME -    SQL-
	</pre>

	<::Error>   ,   .
$ENDMETHOD$

$METHODNAME$
	Update()
$SUMMARY$
	Update CODB description.
$LANG_RU$
	  CODB.
$SYNTAX$
	Update(<oCodbData>) 	--> TRUE || FALSE
$ARGUMENTS$
	<oCodbData> Object, CODB specifier to updating.
$LANG_RU$
	<oCodbData> Object,  CODB  .
$RETURNS$
	Returns TRUE if specifier CODB updated.
$LANG_RU$
	 TRUE   CODB .
$DESCRIPTION$
	Update() returns TRUE if CODB specifier updated.
	The <oCodbData> must be contain property <ID>. This property specified
	CODB identifier.

	The <oCodbData> can be contain property <TYPE> - the type of dictionary.
	By default it is CODB_DICTTYPE_DEFAULT.
	If <TYPE> is "DBF", then <oCodbData> can be contain attribute <PATH> - full path to dbf
	file (by default it is /home/$USER/codb+<ID>)

	<::Error> contain error descriptions if araised.
$LANG_RU$
	Update()  TRUE,   CODB .
	<oCodbData>    <ID>.   
	CODB .

	<oCodbData>    <TYPE> -  .   
	 CODB_DICTTYPE_DEFAULT.
	 <TYPE>  "DBF",  <oCodbData>      : <PATH> -
	    dbf ( : /home/$USER/codb+<ID>)

	<::Error>   ,   .
$ENDMETHOD$

$METHODNAME$
	Connect()
$SUMMARY$
	Open DB.
$LANG_RU$
	 .
$SYNTAX$
	Connect(<sCodbID>[, <sUser>[, <sPasswd>]]) 	--> <oDict>
$ARGUMENTS$
	<sCodbID>   	String, identifier CODB
	<sUser>		String, users name
	<sPasswd>	String, password to access to CODB
$LANG_RU$
	<sCodbID>   	String,  CODB
	<sUser>		String,  
	<sPasswd>	String,     CODB
$RETURNS$
	Returns object of DICTIONARY class - <oDict>.
$LANG_RU$
	   DICTIONARY - <oDict>.
$DESCRIPTION$
	Connect() openes DB with identifier <sCodbID>. Made connect with
	SQL-server (if source is SQL-server) or openes necessary files and
	returns object of DICTIONARY class <oDict>.

	<::Error> contain error descriptions if araised.
$LANG_RU$
	Connect()     <sCodbID>. 
	  SQL- (  SQL-)   
	     DICTIONARY <oDict>.

	<::Error>   ,   .
$ENDMETHOD$

$METHODNAME$
	Close()
$SUMMARY$
	Close DB.
$LANG_RU$
	 .
$SYNTAX$
	Close() 	--> NIL
$ARGUMENTS$
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	Close() closes all files, connections, DB.
$LANG_RU$
	Close()   , , .
$ENDMETHOD$

$METHODNAME$
	GetValue()
$SUMMARY$
	Get dictionary by CODB identifier.
$LANG_RU$
	    CODB.
$SYNTAX$
	GetValue(<sCodbID>) 	--> <oDict>
$ARGUMENTS$
	<sCodbId> String, the CODB identifier (english alpha-betical symbols and numerics)
$LANG_RU$
	<sCodbId> String, CODB  (    )
$RETURNS$
	Returns object of DICTIONARY class - <oDict> with identifier <sCodbID>.
$LANG_RU$
	   DICTIONARY - <oDict>   <sCodbID>.
$DESCRIPTION$
	GetValue() returns object of DICTIONARY class - <oDict> with identifier <sCodbID>.

	<::Error> contain error descriptions if araised.
$LANG_RU$
	GetValue()    DICTIONARY - <oDict>   <sCodbID>.

	<::Error>   ,   .
$ENDMETHOD$




$EXAMPLES$

dList := codbList():new()

if !empty(dList:error)
? "Error:" dList:error
quit
endif

dle      := map()
dle:id   := "MY001"
dle:name := "my first CODB"
dle:type := "DBF"
dle:path := "/home/my_user_name/codb/MY001"

if dList:existId(dle:ID)
dList:update(dle)
else
dList:append(dle)
endif

if !empty(dList:error)
? "Error:" dList:error
quit
endif

oDict := dList:connect("MY001")
? oDict  // see descriptions of DICTIONARY class

dList:close()
quit

$PLATFORMS$
   No dependies of platform.
$SEEALSO$
	CODBDICTIONARY
$AUTHOR$
ITK
$LASTDATE$


