mysql-cocoa-commits Mailing List for MySQL Objective C API for Cocoa
Brought to you by:
sergecohen
You can subscribe to this list here.
2002 |
Jan
(2) |
Feb
(6) |
Mar
(11) |
Apr
(2) |
May
(40) |
Jun
(17) |
Jul
(2) |
Aug
(2) |
Sep
|
Oct
|
Nov
(4) |
Dec
(11) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(4) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(44) |
Sep
|
Oct
(14) |
Nov
|
Dec
|
2004 |
Jan
|
Feb
|
Mar
(7) |
Apr
|
May
(4) |
Jun
|
Jul
|
Aug
(12) |
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Sukita K. <suk...@gm...> - 2009-02-18 07:45:35
|
Nature Dear Sir/Madam, Are you looking for affordable website designing & development services? Or want that your website should generate more traffic with high sales volume? Look no further, as we have a reliable and experienced team to take care of your web related services like Website designing, development, redesigning, CMS, SEO, Online shopping stores, ecommerce solutions, content writing and many other web services. Website Designing & Development Services; We are having an experienced team of web designers & developers and we offer 24 hour support to our clients. We are based in New Delhi, India & have the advantage of offering high end web solutions in affordable budget. *We specialize in; *1. Static websites (Html based websites) 2. Flash based websites & presentations. *3. Dynamic websites* in *PHP*, *ASP* & *.Net(ASPX)*. *4. Database* driven websites. *5. E-commerce Solutions* / *Online Shopping Websites*. *6. Product Catalogue* Websites. 7. XML /AJAX integrated websites. 8. Content Management System (*CMS*) 9. Websites in *DIV/CSS *Search Engine Optimization (SEO) Services; Have you got your website optimized with the latest methodology LSI to get the maximum exposure in the search engines? Is your website ranking low in the search engines or has less traffic? Leave all your worries, because with our "*Satisfaction Guarantee*" we enable you to get the maximum return for the money that you spent on your SEO campaign. We follow Ethical & White Hat SEO techniques to get your website rank high in the Search Engines on industry specific keywords. *Our SEO Package includes; 1. Analysis & Recommendations. 2. On-page Optimization. 3. Off-page Optimization. 4. Social Media Optimization. 5. Advanced Optimization. *We also offer custom made packages both for Website Design, Development & SEO services. *We guarantee High Rankings in Search Engines like Google, MSN & Yahoo on the 1st to 10th positions. *Kind Regards, Sukita P.S - This is the email sent by the individual and not by a robot. If do not wish to receive further emails, kindly reply back with the subject as * Unsubscribe*. |
From: Serge C. <ser...@us...> - 2004-08-09 16:35:33
|
Update of /cvsroot/mysql-cocoa/Documentation/website In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2594/website Modified Files: index.html Log Message: Corrected the end of the list of the second item of the update list. 2004-08-09; Serge Cohen. Index: index.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/index.html,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** index.html 9 Aug 2004 16:29:54 -0000 1.21 --- index.html 9 Aug 2004 16:35:24 -0000 1.22 *************** *** 36,40 **** <li class="intext"><em>TEXT/BLOB</em> : Now the framework is able to discriminate between these two types (and related SMALL... and LONG...). TEXT will be converted to NSString (using the proper encoding, if the encoding of the MySQL server is supported by Cocoa), whilst BLOB will be converted to NSData.</li> <li class="intext"><em>quoteObject</em> : This is a new method added to MCPConnection to quote any object, using the object class to know how it should be quoted.</li> ! </l> <p><em>04 March 2004:</em> With the comments of Dave Winter, I have corrected the examlpe in the HTML doc, should be Ok now (except maybe a \312 character used for tabbing...). Documentation should be updated to 2.2.3 by now.</p> --- 36,40 ---- <li class="intext"><em>TEXT/BLOB</em> : Now the framework is able to discriminate between these two types (and related SMALL... and LONG...). TEXT will be converted to NSString (using the proper encoding, if the encoding of the MySQL server is supported by Cocoa), whilst BLOB will be converted to NSData.</li> <li class="intext"><em>quoteObject</em> : This is a new method added to MCPConnection to quote any object, using the object class to know how it should be quoted.</li> ! </ul> <p><em>04 March 2004:</em> With the comments of Dave Winter, I have corrected the examlpe in the HTML doc, should be Ok now (except maybe a \312 character used for tabbing...). Documentation should be updated to 2.2.3 by now.</p> |
From: Serge C. <ser...@us...> - 2004-08-09 16:30:03
|
Update of /cvsroot/mysql-cocoa/Documentation/website In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1637/website Modified Files: index.html Log Message: Updated the links to the source and binary version of the framework, so that they point to the latest version. 2004-08-09; Serge Cohen. Index: index.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/index.html,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** index.html 9 Aug 2004 16:07:49 -0000 1.20 --- index.html 9 Aug 2004 16:29:54 -0000 1.21 *************** *** 66,78 **** <li>Binaries to install fast..</li> <ul> ! <li>Getting the binaries of the SMySQL frameworks (version 2.2.1) : <a href="http://prdownloads.sourceforge.net/mysql-cocoa/SMySQL_bin_2.2.1.dmg?download">SMySQL_bin_2.2.1.dmg</a>, MD5 : e8958cea685920fb8cd712f7d166483e</li> <li>Getting the MySQL Display application (alone and independent of any library): <a href="http://prdownloads.sourceforge.net/mysql-cocoa/MySQL_Display_0.1.3_F0.7.0.dmg.gz?download">Disk image</a>, MD5 : ea4afc9a6a798776fb2d012de2fbd979. <p><em>Note:</em> The MySQL Display application is not developped anymore, the source is still available as a small examples of hte concept (it uses the API of version 1, whilst naming conventions changed in version 2). The binary is available to see how it performs without having to take care of the "obsolete" version 1 of the framework.<!-- Add a link to display page, and rewrite it to redirect to Cocoa MySQL from Lorenz... --></p> </li> </ul> ! <li><a name="sources">Mac OS X 10.1 or higher sources, version 2.2.1 </a><!!></li> <ul> ! <li><a href="http://prdownloads.sourceforge.net/mysql-cocoa/SMySQL_src_2.2.1.dmg?download">SMySQL Framework v2.2.1 (dmg)</a>, MD5: ea7ed457bc64386513035588496accab</li> ! <li><a href="http://prdownloads.sourceforge.net/mysql-cocoa/SMySQL_src_2.2.1.tgz?download">SMySQL Framework v2.2.1 (tgz)</a>, MD5: dd450188cb7988618560d590c4b0cf28</li> </ul> <ul> --- 66,78 ---- <li>Binaries to install fast..</li> <ul> ! <li>Getting the binaries of the SMySQL frameworks (version 2.3.1) : <a href="http://prdownloads.sourceforge.net/mysql-cocoa/SMySQL_bin_2.3.1.dmg?download">SMySQL_bin_2.3.1.dmg</a>, MD5 : fb3e5d8fd2dfd4d44b44a0af4d6c1ce1</li> <li>Getting the MySQL Display application (alone and independent of any library): <a href="http://prdownloads.sourceforge.net/mysql-cocoa/MySQL_Display_0.1.3_F0.7.0.dmg.gz?download">Disk image</a>, MD5 : ea4afc9a6a798776fb2d012de2fbd979. <p><em>Note:</em> The MySQL Display application is not developped anymore, the source is still available as a small examples of hte concept (it uses the API of version 1, whilst naming conventions changed in version 2). The binary is available to see how it performs without having to take care of the "obsolete" version 1 of the framework.<!-- Add a link to display page, and rewrite it to redirect to Cocoa MySQL from Lorenz... --></p> </li> </ul> ! <li><a name="sources">Mac OS X 10.1 or higher sources, version 2.3.1 </a><!!></li> <ul> ! <li><a href="http://prdownloads.sourceforge.net/mysql-cocoa/SMySQL_src_2.3.1.dmg?download">SMySQL Framework v2.3.1 (dmg)</a>, MD5: b36f6e7db87fe9109039b0b135797cc8</li> ! <li><a href="http://prdownloads.sourceforge.net/mysql-cocoa/SMySQL_src_2.3.1.tgz?download">SMySQL Framework v2.3.1 (tgz)</a>, MD5: 7cd485f966126f69bcf39d44cff80251</li> </ul> <ul> |
From: Serge C. <ser...@us...> - 2004-08-09 16:08:01
|
Update of /cvsroot/mysql-cocoa/Documentation/website/SMySQL_doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28494/website/SMySQL_doc Modified Files: MCPConnection+MCPFastQueries.html MCPConnection.html MCPConnectionWinCont.html MCPDocument.html MCPResult+MCPResultPlus.html MCPResult.html NSObject+MCPNSNullTest.html Log Message: Updated the website to include the release of version 2.3.0 and 2.3.1. Updated also the API documentation. 2004-08-09; Serge Cohen. Index: MCPConnection+MCPFastQueries.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/SMySQL_doc/MCPConnection+MCPFastQueries.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MCPConnection+MCPFastQueries.html 4 Mar 2004 22:19:12 -0000 1.2 --- MCPConnection+MCPFastQueries.html 9 Aug 2004 16:07:49 -0000 1.3 *************** *** 128,132 **** </CODE><P> Send the query <I>aQuery</I> to the server and retrieve the row <B>id</B> if the table have a autoincrement column. ! Returns 0 if no have been inserted <P><HR WIDTH=25% ALIGN=LEFT> --- 128,132 ---- </CODE><P> Send the query <I>aQuery</I> to the server and retrieve the row <B>id</B> if the table have a autoincrement column. ! Returns 0 if nothing have been inserted. <P><HR WIDTH=25% ALIGN=LEFT> *************** *** 144,148 **** <P><HR> ! Version 1.1 Copyright ©2003 by Serge Cohen. All Rights Reserved. Thu Mar 04 22:45:46 2004 <P> </BODY></HTML> --- 144,148 ---- <P><HR> ! Version 1.1 Copyright ©2003 by Serge Cohen. All Rights Reserved. Mon Aug 09 09:26:31 2004 <P> </BODY></HTML> Index: MCPConnection.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/SMySQL_doc/MCPConnection.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MCPConnection.html 4 Mar 2004 22:19:12 -0000 1.2 --- MCPConnection.html 9 Aug 2004 16:07:49 -0000 1.3 *************** *** 24,28 **** <H2>Class Description</H2> <CODE> $Id$ </CODE> ! <CODE> $Name$ </CODE><P> This class is used to keep a connection with a MySQL server, it correspond to the MYSQL structure of the C API, or the database handle of the PERL DBI/DBD interface.<P> --- 24,28 ---- <H2>Class Description</H2> <CODE> $Id$ </CODE> ! <CODE> $Author$ </CODE><P> This class is used to keep a connection with a MySQL server, it correspond to the MYSQL structure of the C API, or the database handle of the PERL DBI/DBD interface.<P> *************** *** 36,44 **** MCPResult *theRes;<BR> <BR> ! theConnec = [theConnec initToHost::albert.com withLogin:@"toto" password:@"albert" port:0]; <BR> [theConnec selectDB:@"db1"]; <BR> theRes = [theConnec queryString:@"select * from table1"]; <BR> ... <BR> ! </CODE> --- 36,47 ---- MCPResult *theRes;<BR> <BR> ! theConnec = [theConnec initToHost:@"albert.com" withLogin:@"toto" password:@"albert" usingPort:0]; <BR> [theConnec selectDB:@"db1"]; <BR> theRes = [theConnec queryString:@"select * from table1"]; <BR> ... <BR> ! </CODE><P> ! ! <B>NOTE</B> Failing to properly release your MCPConnection(s) object might cause a MySQL crash!!! (recovered if the ! server was started using mysqld_safe). *************** *** 168,171 **** --- 171,176 ---- <DD> <A HREF="#- prepareString:">- prepareString:</A></DD> + <DD> <A HREF="#- quoteObject:">- quoteObject:</A></DD> + <DD> <A HREF="#- queryString:">- queryString:</A></DD> *************** *** 290,294 **** <CODE>+ (void)<B>initialize</B> </CODE><P> ! Initialize the class version to 2.0.0 --- 295,299 ---- <CODE>+ (void)<B>initialize</B> </CODE><P> ! Initialize the class version to 2.3.1 *************** *** 528,531 **** --- 533,548 ---- <P><HR WIDTH=25% ALIGN=LEFT> + <A NAME="- quoteObject:"></A><H3><A NAME="//apple_ref/occ/instm/MCPConnection/quoteObject:">quoteObject:</A></H3><P> + <CODE>- (NSString *)<B>quoteObject:</B>(id)<EM>theObject</EM> + + </CODE><P> + Use the class of the <I>theObject</I> to know how it should be prepared for usage with the database. + If <I>theObject</I> is a string, this method will put single quotes to both its side and escape any necessary + character using prepareString: method. If <I>theObject</I> is NSData, the prepareBinaryData: method will be + used instead. + For NSNumber object, the number is just quoted, for calendar dates, the calendar date is formatted in + the preferred format for the database. + + <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- selectDB:"></A><H3><A NAME="//apple_ref/occ/instm/MCPConnection/selectDB:">selectDB:</A></H3><P> <CODE>- (BOOL)<B>selectDB:</B>(NSString *)<EM>dbName</EM> *************** *** 590,594 **** <P><HR> ! Version 1.2 Copyright ©2003 by Serge Cohen. All Rights Reserved. Thu Mar 04 22:45:46 2004 <P> </BODY></HTML> --- 607,611 ---- <P><HR> ! Version 1.3 Copyright ©2004 by Serge Cohen. All Rights Reserved. Mon Aug 09 09:26:32 2004 <P> </BODY></HTML> Index: MCPConnectionWinCont.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/SMySQL_doc/MCPConnectionWinCont.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MCPConnectionWinCont.html 4 Mar 2004 22:19:12 -0000 1.1 --- MCPConnectionWinCont.html 9 Aug 2004 16:07:49 -0000 1.2 *************** *** 53,56 **** --- 53,57 ---- <CODE>IBOutlet NSPanel *<B>mPasswordSheet</B>;</CODE><BR> <CODE>IBOutlet NSTextField *<B>mPasswordField</B>;</CODE><BR> + <CODE>IBOutlet NSButton *<B>mCreateButton</B>;</CODE><BR> <P><TABLE> *************** *** 67,70 **** --- 68,73 ---- <TR><TD>mPasswordField</TD><TD>No description.</TD></TR> + <TR><TD>mCreateButton</TD><TD>No description.</TD></TR> + </TABLE> </blockquote> *************** *** 93,96 **** --- 96,101 ---- <DD> <A HREF="#- doCancel:">- doCancel:</A></DD> + <DD> <A HREF="#- doCreate:">- doCreate:</A></DD> + <DD> <A HREF="#- modifyInstance:">- modifyInstance:</A></DD> *************** *** 123,126 **** --- 128,140 ---- </DL> + + Getting the button for creating a DB. + + <DL><DT></DT> + + <DD> <A HREF="#- getCreateButton">- getCreateButton</A></DD> + + </DL> + </blockquote> *************** *** 161,164 **** --- 175,185 ---- <P><HR WIDTH=25% ALIGN=LEFT> + <A NAME="- doCreate:"></A><H3><A NAME="//apple_ref/occ/instm/MCPConnectionWinCont/doCreate:">doCreate:</A></H3><P> + <CODE>- (IBAction)<B>doCreate:</B>(id)<EM>sender</EM> + + </CODE><P> + No method description. + + <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- doGo:"></A><H3><A NAME="//apple_ref/occ/instm/MCPConnectionWinCont/doGo:">doGo:</A></H3><P> <CODE>- (IBAction)<B>doGo:</B>(id)<EM>sender</EM> *************** *** 168,171 **** --- 189,198 ---- <P><HR WIDTH=25% ALIGN=LEFT> + <A NAME="- getCreateButton"></A><H3><A NAME="//apple_ref/occ/instm/MCPConnectionWinCont/getCreateButton">getCreateButton</A></H3><P> + <CODE>- (NSButton*)<B>getCreateButton</B> + </CODE><P> + No method description. + + <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- init"></A><H3><A NAME="//apple_ref/occ/instm/MCPConnectionWinCont/init">init</A></H3><P> <CODE>- (id)<B>init</B> *************** *** 198,202 **** <P><HR> ! Version 1.1 Copyright ©2004 by Serge Cohen. All Rights Reserved. Thu Mar 04 22:45:46 2004 <P> </BODY></HTML> --- 225,229 ---- <P><HR> ! Version 1.1 Copyright ©2004 by Serge Cohen. All Rights Reserved. Mon Aug 09 09:26:32 2004 <P> </BODY></HTML> Index: MCPDocument.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/SMySQL_doc/MCPDocument.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MCPDocument.html 4 Mar 2004 22:19:12 -0000 1.1 --- MCPDocument.html 9 Aug 2004 16:07:49 -0000 1.2 *************** *** 51,54 **** --- 51,56 ---- <CODE>NSWindowController *<B>MCPMainWinCont</B>;</CODE><BR> <CODE>Class <B>MCPConnectedWinCont</B>;</CODE><BR> + <CODE>NSString *<B>MCPModelName</B>;</CODE><BR> + <CODE>BOOL <B>MCPWillCreateNewDB</B>;</CODE><BR> <P><TABLE> *************** *** 65,68 **** --- 67,74 ---- <TR><TD>MCPConnectedWinCont</TD><TD>Window controller used once the connection is established (As a class).</TD></TR> + <TR><TD>MCPModelName</TD><TD>No description.</TD></TR> + + <TR><TD>MCPWillCreateNewDB</TD><TD>No description.</TD></TR> + </TABLE> </blockquote> *************** *** 104,107 **** --- 110,115 ---- <DD> <A HREF="#- MCPinsertRow:">- MCPinsertRow:</A></DD> + <DD> <A HREF="#- MCPgetConnection">- MCPgetConnection</A></DD> + </DL> *************** *** 160,163 **** --- 168,195 ---- + Accessors to the DB creation instances. + + <DL><DT></DT> + + <DD> <A HREF="#- setMCPModelName:">- setMCPModelName:</A></DD> + + <DD> <A HREF="#- setMCPWillCreateNewDB:">- setMCPWillCreateNewDB:</A></DD> + + <DD> <A HREF="#- MCPModelName">- MCPModelName</A></DD> + + <DD> <A HREF="#- MCPWillCreateNewDB">- MCPWillCreateNewDB</A></DD> + + </DL> + + + Practical creation of the database, from a model file. + + <DL><DT></DT> + + <DD> <A HREF="#- createModelDB">- createModelDB</A></DD> + + </DL> + + Overrides of NSDocument methods. *************** *** 179,183 **** <DL><DT></DT> ! <DD> <A HREF="#- MCPpasswordSheetDidEnd:returnCode:contextInfo:">- MCPpasswordSheetDidEnd:returnCode:contextInfo:</A></DD> </DL> --- 211,215 ---- <DL><DT></DT> ! <DD> <A HREF="#- MCPPasswordSheetDidEnd:returnCode:contextInfo:">- MCPPasswordSheetDidEnd:returnCode:contextInfo:</A></DD> </DL> *************** *** 249,252 **** --- 281,290 ---- <P><HR WIDTH=25% ALIGN=LEFT> + <A NAME="- MCPModelName"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPModelName">MCPModelName</A></H3><P> + <CODE>- (NSString *)<B>MCPModelName</B> + </CODE><P> + No method description. + + <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- MCPPassNeeded"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPPassNeeded">MCPPassNeeded</A></H3><P> <CODE>- (BOOL)<B>MCPPassNeeded</B> *************** *** 255,258 **** --- 293,304 ---- <P><HR WIDTH=25% ALIGN=LEFT> + <A NAME="- MCPPasswordSheetDidEnd:returnCode:contextInfo:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPPasswordSheetDidEnd:returnCode:contextInfo:">MCPPasswordSheetDidEnd:returnCode:contextInfo:</A></H3><P> + <CODE>- (void)<B>MCPPasswordSheetDidEnd:</B>(NSWindow *)<EM>sheet</EM> <B>returnCode:</B>(int)<EM>returnCode</EM> <B>contextInfo:</B>(void *)<EM>contextInfo</EM> + + </CODE><P> + Method called once the user enterred the password and click Ok (or press return) + Try to make a connection (depending of the button clicked), if password is refused, go back to ask connection information. + + <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- MCPPort"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPPort">MCPPort</A></H3><P> <CODE>- (unsigned int)<B>MCPPort</B> *************** *** 261,264 **** --- 307,322 ---- <P><HR WIDTH=25% ALIGN=LEFT> + <A NAME="- MCPWillCreateNewDB"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPWillCreateNewDB">MCPWillCreateNewDB</A></H3><P> + <CODE>- (BOOL)<B>MCPWillCreateNewDB</B> + </CODE><P> + No method description. + + <P><HR WIDTH=25% ALIGN=LEFT> + <A NAME="- MCPgetConnection"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPgetConnection">MCPgetConnection</A></H3><P> + <CODE>- (MCPConnection *)<B>MCPgetConnection</B> + </CODE><P> + Get directly the MCPConnection of the MCPDocument... This method should be used with care, because one can (inadvertly) modify the DB connection of the document itself, producing further inexpected state later. + + <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- MCPinsertRow:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPinsertRow:">MCPinsertRow:</A></H3><P> <CODE>- (unsigned int)<B>MCPinsertRow:</B>(NSString *)<EM>insert</EM> *************** *** 274,285 **** <P><HR WIDTH=25% ALIGN=LEFT> - <A NAME="- MCPpasswordSheetDidEnd:returnCode:contextInfo:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPpasswordSheetDidEnd:returnCode:contextInfo:">MCPpasswordSheetDidEnd:returnCode:contextInfo:</A></H3><P> - <CODE>- (void)<B>MCPpasswordSheetDidEnd:</B>(NSWindow *)<EM>sheet</EM> <B>returnCode:</B>(int)<EM>returnCode</EM> <B>contextInfo:</B>(void *)<EM>contextInfo</EM> - - </CODE><P> - Method called once the user enterred the password and click Ok (or press return) - Try to make a connection (depending of the button clicked), if password is refused, go back to ask connection information. - - <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- MCPqueryString:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPqueryString:">MCPqueryString:</A></H3><P> <CODE>- (MCPResult *)<B>MCPqueryString:</B>(NSString *)<EM>query</EM> --- 332,335 ---- *************** *** 289,292 **** --- 339,348 ---- <P><HR WIDTH=25% ALIGN=LEFT> + <A NAME="- createModelDB"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/createModelDB">createModelDB</A></H3><P> + <CODE>- (BOOL)<B>createModelDB</B> + </CODE><P> + No method description. + + <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- dataRepresentationOfType:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/dataRepresentationOfType:">dataRepresentationOfType:</A></H3><P> <CODE>- (NSData *)<B>dataRepresentationOfType:</B>(NSString *)<EM>aType</EM> *************** *** 357,360 **** --- 413,423 ---- <P><HR WIDTH=25% ALIGN=LEFT> + <A NAME="- setMCPModelName:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/setMCPModelName:">setMCPModelName:</A></H3><P> + <CODE>- (void)<B>setMCPModelName:</B>(NSString *)<EM>theModelName</EM> + + </CODE><P> + No method description. + + <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- setMCPPort:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/setMCPPort:">setMCPPort:</A></H3><P> <CODE>- (void)<B>setMCPPort:</B>(unsigned int)<EM>thePort</EM> *************** *** 364,367 **** --- 427,437 ---- <P><HR WIDTH=25% ALIGN=LEFT> + <A NAME="- setMCPWillCreateNewDB:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/setMCPWillCreateNewDB:">setMCPWillCreateNewDB:</A></H3><P> + <CODE>- (void)<B>setMCPWillCreateNewDB:</B>(BOOL)<EM>theWillCreateNewDB</EM> + + </CODE><P> + No method description. + + <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- windowControllerDidLoadNib:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/windowControllerDidLoadNib:">windowControllerDidLoadNib:</A></H3><P> <CODE>- (void)<B>windowControllerDidLoadNib:</B>(NSWindowController *)<EM>aController</EM> *************** *** 370,374 **** What to do when a specific window is loaded: - Nothing for the Connection Info Window (MCPConnectionWindow.nib). ! - Whatever one wants for another window type. --- 440,446 ---- What to do when a specific window is loaded: - Nothing for the Connection Info Window (MCPConnectionWindow.nib). ! - Whatever one wants for another window type.<P> ! ! Indeed it looks like this method is never called, unless one has a single window controller document... not the case here... *************** *** 377,381 **** <P><HR> ! Version 1.1 Copyright ©2004 by Serge Cohen. All Rights Reserved. Thu Mar 04 22:45:47 2004 <P> </BODY></HTML> --- 449,453 ---- <P><HR> ! Version 1.1 Copyright ©2004 by Serge Cohen. All Rights Reserved. Mon Aug 09 09:26:32 2004 <P> </BODY></HTML> Index: MCPResult+MCPResultPlus.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/SMySQL_doc/MCPResult+MCPResultPlus.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MCPResult+MCPResultPlus.html 4 Mar 2004 22:19:12 -0000 1.2 --- MCPResult+MCPResultPlus.html 9 Aug 2004 16:07:49 -0000 1.3 *************** *** 115,119 **** <P><HR> ! Version 1.1 Copyright ©2003 by Serge Cohen. All Rights Reserved. Thu Mar 04 22:45:46 2004 <P> </BODY></HTML> --- 115,119 ---- <P><HR> ! Version 1.1 Copyright ©2003 by Serge Cohen. All Rights Reserved. Mon Aug 09 09:26:31 2004 <P> </BODY></HTML> Index: MCPResult.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/SMySQL_doc/MCPResult.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MCPResult.html 4 Mar 2004 22:19:12 -0000 1.2 --- MCPResult.html 9 Aug 2004 16:07:49 -0000 1.3 *************** *** 160,163 **** --- 160,167 ---- <DD> <A HREF="#- fetchTypesAsDictionary">- fetchTypesAsDictionary</A></DD> + <DD> <A HREF="#- fetchFlagsAtIndex:">- fetchFlagsAtIndex:</A></DD> + + <DD> <A HREF="#- fetchFlagsForKey:">- fetchFlagsForKey:</A></DD> + <DD> <A HREF="#- isBlobAtIndex:">- isBlobAtIndex:</A></DD> *************** *** 217,221 **** <CODE>+ (void)<B>initialize</B> </CODE><P> ! Initialize the class version to 2.0.0 --- 221,225 ---- <CODE>+ (void)<B>initialize</B> </CODE><P> ! Initialize the class version to 2.3.1 *************** *** 263,266 **** --- 267,284 ---- <P><HR WIDTH=25% ALIGN=LEFT> + <A NAME="- fetchFlagsAtIndex:"></A><H3><A NAME="//apple_ref/occ/instm/MCPResult/fetchFlagsAtIndex:">fetchFlagsAtIndex:</A></H3><P> + <CODE>- (unsigned int)<B>fetchFlagsAtIndex:</B>(unsigned int)<EM>index</EM> + + </CODE><P> + Return the MySQL flags of the column at the given <I>index</I>... Can be used to check if a number is signed or not... + + <P><HR WIDTH=25% ALIGN=LEFT> + <A NAME="- fetchFlagsForKey:"></A><H3><A NAME="//apple_ref/occ/instm/MCPResult/fetchFlagsForKey:">fetchFlagsForKey:</A></H3><P> + <CODE>- (unsigned int)<B>fetchFlagsForKey:</B>(NSString *)<EM>key</EM> + + </CODE><P> + No method description. + + <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- fetchRowAsArray"></A><H3><A NAME="//apple_ref/occ/instm/MCPResult/fetchRowAsArray">fetchRowAsArray</A></H3><P> <CODE>- (NSArray *)<B>fetchRowAsArray</B> *************** *** 287,291 **** </CODE><P> ! Return the next row of the result as a collection of type defined by <I>aType</I> (namely MCPTypeArray or MCPTypeDictionary). Each field of the row is made into a proper object to hold the info (NSNumber, NSString...).<P> This method returned directly the <B>mutable</B> object generated while going through all the columns --- 305,309 ---- </CODE><P> ! Return the next row of the result as a collection of type defined by <I>aType</I> (namely MCPTypeArray or MCPTypeDictionary). Each field of the row is made into a proper object to hold the info (NSNumber -indeed MCPNumber, to keep signedness-, NSString...).<P> This method returned directly the <B>mutable</B> object generated while going through all the columns *************** *** 345,349 **** Return YES if the field with the given <I>index</I> is a BLOB. It should be used to discriminates between BLOBs and TEXTs.<P> ! <B>NOT YET IMPLEMENTED</B>, return YES for both BLOBs and TEXTs... <P><HR WIDTH=25% ALIGN=LEFT> --- 363,369 ---- Return YES if the field with the given <I>index</I> is a BLOB. It should be used to discriminates between BLOBs and TEXTs.<P> ! <B>DEPRECATED</B>, This method is not consistent with the C API which is supposed to return YES for BOTH text and blob (and BTW is also deprecated)...<P> ! ! <B>NOTE</B> That the current version handles properly TEXT, and returns those as NSString (and not NSData as it used to be). <P><HR WIDTH=25% ALIGN=LEFT> *************** *** 354,358 **** Return YES if the field (by name) with the given index is a BLOB. It should be used to discriminates between BLOBs and TEXTs.<P> ! <B>NOT YET IMPLEMENTED</B>, return YES for both BLOBs and TEXTs... <P><HR WIDTH=25% ALIGN=LEFT> --- 374,380 ---- Return YES if the field (by name) with the given index is a BLOB. It should be used to discriminates between BLOBs and TEXTs.<P> ! <B>DEPRECATED</B>, This method is not consistent with the C API which is supposed to return YES for BOTH text and blob (and BTW is also deprecated)...<P> ! ! <B>NOTE</B> That the current version handles properly TEXT, and returns those as NSString (and not NSData as it used to be). <P><HR WIDTH=25% ALIGN=LEFT> *************** *** 380,384 **** </CODE><P> ! Use the string encoding to convert the returned NSData to a string (for a Text field) --- 402,406 ---- </CODE><P> ! Use the string encoding to convert the returned NSData to a string (for a TEXT field) *************** *** 387,391 **** <P><HR> ! Version 1.1 Copyright ©2003 by Serge Cohen. All Rights Reserved. Thu Mar 04 22:45:46 2004 <P> </BODY></HTML> --- 409,413 ---- <P><HR> ! Version 1.2 Copyright ©2004 by Serge Cohen. All Rights Reserved. Mon Aug 09 09:26:32 2004 <P> </BODY></HTML> Index: NSObject+MCPNSNullTest.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/SMySQL_doc/NSObject+MCPNSNullTest.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** NSObject+MCPNSNullTest.html 4 Mar 2004 22:19:12 -0000 1.2 --- NSObject+MCPNSNullTest.html 9 Aug 2004 16:07:49 -0000 1.3 *************** *** 77,81 **** <P><HR> ! Version 1.1 Copyright ©2003 by Serge Cohen. All Rights Reserved. Thu Mar 04 22:45:46 2004 <P> </BODY></HTML> --- 77,81 ---- <P><HR> ! Version 1.1 Copyright ©2003 by Serge Cohen. All Rights Reserved. Mon Aug 09 09:26:32 2004 <P> </BODY></HTML> |
From: Serge C. <ser...@us...> - 2004-08-09 16:07:59
|
Update of /cvsroot/mysql-cocoa/Documentation/website In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28494/website Modified Files: archives.html index.html Log Message: Updated the website to include the release of version 2.3.0 and 2.3.1. Updated also the API documentation. 2004-08-09; Serge Cohen. Index: archives.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/archives.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** archives.html 30 Aug 2003 13:43:22 -0000 1.3 --- archives.html 9 Aug 2004 16:07:49 -0000 1.4 *************** *** 18,21 **** --- 18,25 ---- <a name="home"><p>Home page of the MySQL Cocoa project can be found <a href="index.html">here</a></p></a> + <p><em>25 August 2003:</em> Today I finally had the time to update the web site. The information you find here should now be up to date (especially the <a href="#files">Files</a>, <a href="#docs">Documentation</a> were completely outdated – I had no time to update them since I first wrote them in January 2002 –).</p> + + <p><em>20 August 2003:</em> Releases the version 2.2.1 of the framework: minor bug correction. The previous versions of the framework were not able to handle properly the integer with more than 32bits (MySQL BIGINT). This is now corrected (indeed the other branches of the framework are also corrected in CVS, so if you are still using the version 1, I encourage you to get the fix from CVS). Unfortunately I have not found a solution to know from the MySQL server if a retrieved integer is signed or not, hence the framework assumes always signed int: this can cause a trouble if you have a unsigned column (either for BIGINT or INT) and you are using number bigger than the maximum SIGNED number. Thanks to Lorenz Textor for pointing the bug to me.</p> + <p class="withlist"><em>18 August 2003:</em> Released the version 2.2.0 of the framework. The API is kept unchanged, the main difference is in the project organisation (in Project Builder). I also have tried to make the aim of each target more clear, and cleaned up the build-styles, in that respect I have defined 3 different names for each of the flavours (corresponding to 3 different targets) of the framework (which BTW have also changed):</p> <ol class="intext"> Index: index.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/index.html,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** index.html 4 Mar 2004 22:21:14 -0000 1.19 --- index.html 9 Aug 2004 16:07:49 -0000 1.20 *************** *** 29,32 **** --- 29,41 ---- <a name="archive"><p>Archives of the updates can be found <a href="archives.html">here</a></p></a> + <p><em>09 August 2004:</em> Corrected a small bug in the new method -quoteObject:, it was not taking care of nil or NSNull object, now it will return the string NULL (without surrounding quotes) for these cases. This is version 2.3.1. Normally the API documentation should be updated to the latest version of the framework as of today.</p> + + <p class="withlist"><em>05 August 2004:</em> Aaron Jacobs pointed me to the solution of the signed/unsigned integer (which indeed was already in a mail from Lorenz Textor). This also gave me the way to discriminate between TEXT and BLOB columns. After implementing the bug fixes, the version 2.3.0 of the framework is now released, the new features/bug fixes are:</p> + <ul class="intext"> + <li class="intext"><em>Integers</em> : All integers should now be correctly be converted in NSNumber. Indeed I had to implement a NSNumber subclass to handle properly the unsigned numbers as the Foundation NSNumber lass does not retain if the stored number is signed or not (if one create a NSNumber with a large unsigned int, and outputs it later, the output is negative). Now even large UNIGNED BIGINT should be output correctly positive.</li> + <li class="intext"><em>TEXT/BLOB</em> : Now the framework is able to discriminate between these two types (and related SMALL... and LONG...). TEXT will be converted to NSString (using the proper encoding, if the encoding of the MySQL server is supported by Cocoa), whilst BLOB will be converted to NSData.</li> + <li class="intext"><em>quoteObject</em> : This is a new method added to MCPConnection to quote any object, using the object class to know how it should be quoted.</li> + </l> + <p><em>04 March 2004:</em> With the comments of Dave Winter, I have corrected the examlpe in the HTML doc, should be Ok now (except maybe a \312 character used for tabbing...). Documentation should be updated to 2.2.3 by now.</p> *************** *** 39,46 **** <p><em>27 August 2003:</em> Added a documentation on how to build MySQL from sources. You will find a link to these inscription in the <a href="#docs">Documentation</a> section. Following these instructions you should be able to build MySQL server and client sides, with prebound dynamic libraries (as well as static libraries), openssl support for both server and client... and finally getting the <code>libmysqld.a</code> library which is basically a embedded MySQL server running in its own thread, so your program can contains its own server (not yet supported by SMySQL framework... but might come some time soon).</p> - <p><em>25 August 2003:</em> Today I finally had the time to update the web site. The information you find here should now be up to date (especially the <a href="#files">Files</a>, <a href="#docs">Documentation</a> were completely outdated – I had no time to update them since I first wrote them in January 2002 –).</p> - - <p><em>20 August 2003:</em> Releases the version 2.2.1 of the framework: minor bug correction. The previous versions of the framework were not able to handle properly the integer with more than 32bits (MySQL BIGINT). This is now corrected (indeed the other branches of the framework are also corrected in CVS, so if you are still using the version 1, I encourage you to get the fix from CVS). Unfortunately I have not found a solution to know from the MySQL server if an retrieve integer is signed or not, hence the framework assumes always signed int: this can cause a trouble if you have a unsigned column (either for BIGINT or INT) and you are using number bigger than the maximum SIGNED number. Thanks to Lorenz Textor for pointing the bug to me.</p> - <!--/Updates--> --- 48,51 ---- |
From: Serge C. <ser...@us...> - 2004-08-09 16:04:37
|
Update of /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27883/SMySQL.pbproj Modified Files: project.pbxproj Log Message: Changed the version of the object (MCPConnection and MCPResult) to 2.3.1. Corrected the -quoteObject method of the MCPConnection to take care of hte case where the object is either nil or an instance of NSNull. 2004-08-09; Serge Cohen. Index: project.pbxproj =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/project.pbxproj,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** project.pbxproj 4 Aug 2004 23:44:08 -0000 1.34 --- project.pbxproj 9 Aug 2004 16:04:26 -0000 1.35 *************** *** 7,12 **** objects = { 014CEA440018CDF011CA2923 = { - buildRules = ( - ); buildSettings = { COPY_PHASE_STRIP = NO; --- 7,10 ---- *************** *** 24,29 **** }; 014CEA450018CDF011CA2923 = { - buildRules = ( - ); buildSettings = { COPY_PHASE_STRIP = YES; --- 22,25 ---- *************** *** 62,67 **** 034768E0FF38A50411DB9C8B = { explicitFileType = wrapper.framework; ! fallbackIsa = PBXFileReference; ! isa = PBXFrameworkReference; path = SMySQL.framework; refType = 3; --- 58,62 ---- 034768E0FF38A50411DB9C8B = { explicitFileType = wrapper.framework; ! isa = PBXFileReference; path = SMySQL.framework; refType = 3; *************** *** 137,142 **** }; 0867D69BFE84028FC02AAC07 = { ! fallbackIsa = PBXFileReference; ! isa = PBXFrameworkReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; --- 132,136 ---- }; 0867D69BFE84028FC02AAC07 = { ! isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; *************** *** 158,162 **** CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.3.0; FRAMEWORK_SEARCH_PATHS = ""; FRAMEWORK_VERSION = A; --- 152,156 ---- CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.3.1; FRAMEWORK_SEARCH_PATHS = ""; FRAMEWORK_VERSION = A; *************** *** 193,197 **** <string>SMySQL</string> <key>CFBundleGetInfoString</key> ! <string>2.3.0, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> --- 187,191 ---- <string>SMySQL</string> <key>CFBundleGetInfoString</key> ! <string>2.3.1, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> *************** *** 205,213 **** <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.3.0</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> ! <string>2.3.0d1</string> <key>NSAppleScriptEnabled</key> <string>Yes</string> --- 199,207 ---- <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.3.1</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> ! <string>2.3.1d1</string> <key>NSAppleScriptEnabled</key> <string>Yes</string> *************** *** 277,282 **** }; 0867D6A5FE840307C02AAC07 = { ! fallbackIsa = PBXFileReference; ! isa = PBXFrameworkReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; --- 271,275 ---- }; 0867D6A5FE840307C02AAC07 = { ! isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; *************** *** 661,665 **** CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.3.0; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; --- 654,658 ---- CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.3.1; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; *************** *** 696,700 **** <string>SMySQL_static</string> <key>CFBundleGetInfoString</key> ! <string>2.3.0, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> --- 689,693 ---- <string>SMySQL_static</string> <key>CFBundleGetInfoString</key> ! <string>2.3.1, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> *************** *** 708,716 **** <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.3.0</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> ! <string>2.3.0d1</string> <key>NSAppleScriptEnabled</key> <string>Yes</string> --- 701,709 ---- <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.3.1</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> ! <string>2.3.1d1</string> <key>NSAppleScriptEnabled</key> <string>Yes</string> *************** *** 723,728 **** 0DA7207F04EE8A99002E9126 = { explicitFileType = wrapper.framework; ! fallbackIsa = PBXFileReference; ! isa = PBXFrameworkReference; path = SMySQL_static.framework; refType = 3; --- 716,720 ---- 0DA7207F04EE8A99002E9126 = { explicitFileType = wrapper.framework; ! isa = PBXFileReference; path = SMySQL_static.framework; refType = 3; *************** *** 808,812 **** CPLUSPLUS = "/usr/bin/g++"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.3.0; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; --- 800,804 ---- CPLUSPLUS = "/usr/bin/g++"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.3.1; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; *************** *** 858,862 **** <string>SMySQL_bundle</string> <key>CFBundleGetInfoString</key> ! <string>2.3.0, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> --- 850,854 ---- <string>SMySQL_bundle</string> <key>CFBundleGetInfoString</key> ! <string>2.3.1, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> *************** *** 870,878 **** <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.3.0</string> <key>CFBundleSignature</key> <string>mcpS</string> <key>CFBundleVersion</key> ! <string>2.3.0d1</string> <key>NSAppleScriptEnabled</key> <string>Yes</string> --- 862,870 ---- <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.3.1</string> <key>CFBundleSignature</key> <string>mcpS</string> <key>CFBundleVersion</key> ! <string>2.3.1d1</string> <key>NSAppleScriptEnabled</key> <string>Yes</string> *************** *** 885,890 **** 0DA7208604EE8C3F002E9126 = { explicitFileType = wrapper.framework; ! fallbackIsa = PBXFileReference; ! isa = PBXFrameworkReference; path = SMySQL_bundled.framework; refType = 3; --- 877,881 ---- 0DA7208604EE8C3F002E9126 = { explicitFileType = wrapper.framework; ! isa = PBXFileReference; path = SMySQL_bundled.framework; refType = 3; *************** *** 1024,1029 **** }; 0DA720A804EE90BE002E9126 = { - buildRules = ( - ); buildSettings = { COPY_PHASE_STRIP = YES; --- 1015,1018 ---- *************** *** 1722,1727 **** 0DCFFE7504EE9B4400AD80EC = { explicitFileType = "compiled.mach-o.executable"; ! fallbackIsa = PBXFileReference; ! isa = PBXExecutableFileReference; path = CLI_Test; refType = 3; --- 1711,1715 ---- 0DCFFE7504EE9B4400AD80EC = { explicitFileType = "compiled.mach-o.executable"; ! isa = PBXFileReference; path = CLI_Test; refType = 3; *************** *** 1835,1839 **** <string>????</string> <key>CFBundleVersion</key> ! <string>2.3.0d1</string> </dict> </plist> --- 1823,1827 ---- <string>????</string> <key>CFBundleVersion</key> ! <string>2.3.1d1</string> </dict> </plist> *************** *** 1842,1847 **** 0DEFA05804F0318B00A68F01 = { explicitFileType = wrapper.cfbundle; ! fallbackIsa = PBXFileReference; ! isa = PBXBundleReference; path = Prepare_Distributions.bundle; refType = 3; --- 1830,1834 ---- 0DEFA05804F0318B00A68F01 = { explicitFileType = wrapper.cfbundle; ! isa = PBXFileReference; path = Prepare_Distributions.bundle; refType = 3; *************** *** 1855,1859 **** runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nCP=\"cp -r\"\nWORK_DIR=\"$TARGET_BUILD_DIR/Distributions\"\n\nBASE_DIST_NAME=\"SMySQL\"\nVERSION_DIST=\"2.3.0\"\n\nSOURCE_FILES=\"CLI_Test MCPFoundationKit MCPApplicationKit SMySQLConstants.h SMySQL_Prefix.h README TO_DO TO_INSTALL gpl.txt gpl.html mysql_bins CLI_Test SMySQL.pbproj English.lproj\"\n\nBIN_FILES=\"SMySQL.framework SMySQL_static.framework SMySQL_bundled.framework CLI_Test\"\n\nrm -rf \"$WORK_DIR\"\n$MKDIRS \"$WORK_DIR\"\ncd \"$WORK_DIR\"\n\n#cat - > foo.txt <<EOF\n#This Foo Bar saying Hello World...\n#EOF\n\n# Preparing the source distribution:\nSOURCE_DIST_NAME=\"${BASE_DIST_NAME}_src_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Sources_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_SOURCES=`hdid -nomount Sources_Temp.dmg`\nnewfs_hfs -v \"$SOURCE_DIST_NAME\" $DEV_SOURCES\nhdiutil eject $DEV_SOURCES\n# Mount in writable way:\nhdid Sources_Temp.dmg > mount_source.log\nDEV_SOURCES=`awk '{print $1}' mount_source.log`\nVOL_SOURCES=`awk '{print $2}' mount_source.log`\n# Copy the sources to the source volume...\ncd \"$SRCROOT\"\n$CP $SOURCE_FILES $VOL_SOURCES\nfind $VOL_SOURCES -name 'CVS' -exec rm -rf {} \\;\n# Make a Tar/gz version of the distribution...\ncd $VOL_SOURCES\ncd ..\ngnutar -cvzf \"${WORK_DIR}/${SOURCE_DIST_NAME}.tgz\" ${SOURCE_DIST_NAME}\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_SOURCES\nhdiutil convert -format UDZO -imagekey zlib-level=9 Sources_Temp.dmg -o ${SOURCE_DIST_NAME}.dmg\n\n# Preparing the binary distribution:\nBINS_DIST_NAME=\"${BASE_DIST_NAME}_bin_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Bins_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_BINS=`hdid -nomount Bins_Temp.dmg`\nnewfs_hfs -v \"$BINS_DIST_NAME\" $DEV_BINS\nhdiutil eject $DEV_BINS\n# Mount in writable way:\nhdid Bins_Temp.dmg > mount_bin.log\nDEV_BINS=`awk '{print $1}' mount_bin.log`\nVOL_BINS=`awk '{print $2}' mount_bin.log`\n# Copy the sources to the source volume...\ncd \"$TARGET_BUILD_DIR\"\n$CP $BIN_FILES $VOL_BINS\n$CP ${SRCROOT}/README_BIN ${VOL_BINS}/README\n$CP \"${SRCROOT}/CLI_Test/README.txt\" ${VOL_BINS}/CLI_Test_README\n$CP \"${SRCROOT}/CLI_Test/Make_DB_and_table.mysql\" ${VOL_BINS}/\nmv \"${VOL_BINS}/CLI_Test\" \"${VOL_BINS}/CLI_Test.command\"\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_BINS\nhdiutil convert -format UDZO -imagekey zlib-level=9 Bins_Temp.dmg -o ${BINS_DIST_NAME}.dmg\n\n\n# Clean_up:\nrm -f Sources_Temp.dmg\nrm -f mount_source.log\nrm -f Bins_Temp.dmg\nrm -f mount_bin.log\n\necho Everything will be in : $WORK_DIR\n"; }; //0D0 --- 1842,1846 ---- runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nCP=\"cp -r\"\nWORK_DIR=\"$TARGET_BUILD_DIR/Distributions\"\n\nBASE_DIST_NAME=\"SMySQL\"\nVERSION_DIST=\"2.3.1\"\n\nSOURCE_FILES=\"CLI_Test MCPFoundationKit MCPApplicationKit SMySQLConstants.h SMySQL_Prefix.h README TO_DO TO_INSTALL gpl.txt gpl.html mysql_bins CLI_Test SMySQL.pbproj English.lproj\"\n\nBIN_FILES=\"SMySQL.framework SMySQL_static.framework SMySQL_bundled.framework CLI_Test\"\n\nrm -rf \"$WORK_DIR\"\n$MKDIRS \"$WORK_DIR\"\ncd \"$WORK_DIR\"\n\n#cat - > foo.txt <<EOF\n#This Foo Bar saying Hello World...\n#EOF\n\n# Preparing the source distribution:\nSOURCE_DIST_NAME=\"${BASE_DIST_NAME}_src_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Sources_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_SOURCES=`hdid -nomount Sources_Temp.dmg`\nnewfs_hfs -v \"$SOURCE_DIST_NAME\" $DEV_SOURCES\nhdiutil eject $DEV_SOURCES\n# Mount in writable way:\nhdid Sources_Temp.dmg > mount_source.log\nDEV_SOURCES=`awk '{print $1}' mount_source.log`\nVOL_SOURCES=`awk '{print $2}' mount_source.log`\n# Copy the sources to the source volume...\ncd \"$SRCROOT\"\n$CP $SOURCE_FILES $VOL_SOURCES\nfind $VOL_SOURCES -name 'CVS' -exec rm -rf {} \\;\n# Make a Tar/gz version of the distribution...\ncd $VOL_SOURCES\ncd ..\ngnutar -cvzf \"${WORK_DIR}/${SOURCE_DIST_NAME}.tgz\" ${SOURCE_DIST_NAME}\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_SOURCES\nhdiutil convert -format UDZO -imagekey zlib-level=9 Sources_Temp.dmg -o ${SOURCE_DIST_NAME}.dmg\n\n# Preparing the binary distribution:\nBINS_DIST_NAME=\"${BASE_DIST_NAME}_bin_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Bins_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_BINS=`hdid -nomount Bins_Temp.dmg`\nnewfs_hfs -v \"$BINS_DIST_NAME\" $DEV_BINS\nhdiutil eject $DEV_BINS\n# Mount in writable way:\nhdid Bins_Temp.dmg > mount_bin.log\nDEV_BINS=`awk '{print $1}' mount_bin.log`\nVOL_BINS=`awk '{print $2}' mount_bin.log`\n# Copy the sources to the source volume...\ncd \"$TARGET_BUILD_DIR\"\n$CP $BIN_FILES $VOL_BINS\n$CP ${SRCROOT}/README_BIN ${VOL_BINS}/README\n$CP \"${SRCROOT}/CLI_Test/README.txt\" ${VOL_BINS}/CLI_Test_README\n$CP \"${SRCROOT}/CLI_Test/Make_DB_and_table.mysql\" ${VOL_BINS}/\nmv \"${VOL_BINS}/CLI_Test\" \"${VOL_BINS}/CLI_Test.command\"\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_BINS\nhdiutil convert -format UDZO -imagekey zlib-level=9 Bins_Temp.dmg -o ${BINS_DIST_NAME}.dmg\n\n\n# Clean_up:\nrm -f Sources_Temp.dmg\nrm -f mount_source.log\nrm -f Bins_Temp.dmg\nrm -f mount_bin.log\n\necho Everything will be in : $WORK_DIR\n"; }; //0D0 *************** *** 1877,1882 **** }; 1058C7B1FEA5585E11CA2CBB = { ! fallbackIsa = PBXFileReference; ! isa = PBXFrameworkReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; --- 1864,1868 ---- }; 1058C7B1FEA5585E11CA2CBB = { ! isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; |
From: Serge C. <ser...@us...> - 2004-08-09 16:04:37
|
Update of /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27883/MCPFoundationKit Modified Files: MCPConnection.m MCPResult.m Log Message: Changed the version of the object (MCPConnection and MCPResult) to 2.3.1. Corrected the -quoteObject method of the MCPConnection to take care of hte case where the object is either nil or an instance of NSNull. 2004-08-09; Serge Cohen. Index: MCPConnection.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/MCPConnection.m,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** MCPConnection.m 4 Aug 2004 23:24:06 -0000 1.5 --- MCPConnection.m 9 Aug 2004 16:04:25 -0000 1.6 *************** *** 28,31 **** --- 28,32 ---- #import "MCPResult.h" #import "MCPNumber.h" + #import "MCPNull.h" const unsigned int kMCPConnectionDefaultOption = CLIENT_COMPRESS; *************** *** 123,131 **** + (void) initialize /*" ! Initialize the class version to 2.0.0 "*/ { if (self = [MCPConnection class]) { ! [self setVersion:020300]; // Ma.Mi.Re -> MaMiRe } --- 124,132 ---- + (void) initialize /*" ! Initialize the class version to 2.3.1 "*/ { if (self = [MCPConnection class]) { ! [self setVersion:020301]; // Ma.Mi.Re -> MaMiRe } *************** *** 433,436 **** --- 434,440 ---- "*/ { + if ((! theObject) || ([theObject isNSNull])) { + return @"NULL"; + } if ([theObject isKindOfClass:[NSData class]]) { return [NSString stringWithFormat:@"'%@'", [self prepareBinaryData:(NSData *) theObject]]; Index: MCPResult.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/MCPResult.m,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** MCPResult.m 4 Aug 2004 23:24:06 -0000 1.5 --- MCPResult.m 9 Aug 2004 16:04:25 -0000 1.6 *************** *** 68,76 **** + (void) initialize /*" ! Initialize the class version to 2.3.0 "*/ { if (self = [MCPResult class]) { ! [self setVersion:020300]; // Ma.Mi.Re -> MaMiRe MCPYear0000 = [[NSCalendarDate dateWithTimeIntervalSinceReferenceDate:-63146822400.0] retain]; [MCPYear0000 setCalendarFormat:@"%Y"]; --- 68,76 ---- + (void) initialize /*" ! Initialize the class version to 2.3.1 "*/ { if (self = [MCPResult class]) { ! [self setVersion:020301]; // Ma.Mi.Re -> MaMiRe MCPYear0000 = [[NSCalendarDate dateWithTimeIntervalSinceReferenceDate:-63146822400.0] retain]; [MCPYear0000 setCalendarFormat:@"%Y"]; |
From: Serge C. <ser...@us...> - 2004-08-04 23:44:19
|
Update of /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6462/SMySQL.pbproj Modified Files: project.pbxproj Log Message: Corrected the Copyright statement of the MCPNumber class files (header and implementation). 2004-08-05; Serge Cohen. Index: project.pbxproj =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/project.pbxproj,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** project.pbxproj 4 Aug 2004 23:26:14 -0000 1.33 --- project.pbxproj 4 Aug 2004 23:44:08 -0000 1.34 *************** *** 325,328 **** --- 325,330 ---- 0DCFFE3B04EE97AE00AD80EC, 0DCFFE3C04EE97AE00AD80EC, + 95F9DB5306C11A08005F9DC5, + 95F9DB5406C11A08005F9DC5, 0DCFFE3D04EE97AE00AD80EC, 0DCFFE3E04EE97AE00AD80EC, *************** *** 331,336 **** 0DCFFE4104EE97AE00AD80EC, 0DCFFE4204EE97AE00AD80EC, - 95F9DB5306C11A08005F9DC5, - 95F9DB5406C11A08005F9DC5, 0DCFFE4404EE97AE00AD80EC, 0DCFFE4304EE97AE00AD80EC, --- 333,336 ---- |
From: Serge C. <ser...@us...> - 2004-08-04 23:44:17
|
Update of /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6462/MCPFoundationKit Modified Files: MCPNumber.h MCPNumber.m Log Message: Corrected the Copyright statement of the MCPNumber class files (header and implementation). 2004-08-05; Serge Cohen. Index: MCPNumber.h =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/MCPNumber.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MCPNumber.h 4 Aug 2004 23:24:06 -0000 1.1 --- MCPNumber.h 4 Aug 2004 23:44:08 -0000 1.2 *************** *** 3,9 **** // NumberTest // ! // Created by Serge Cohen on Tue Aug 03 2004. ! // Copyright (c) 2004 __MyCompanyName__. All rights reserved. // #import <Foundation/Foundation.h> --- 3,26 ---- // NumberTest // ! // Created by serge cohen (ser...@m4...) on Sat Dec 08 2001. ! // Copyright (c) 2001 Serge Cohen. // + // This code is free software; you can redistribute it and/or modify it under + // the terms of the GNU General Public License as published by the Free + // Software Foundation; either version 2 of the License, or any later version. + // + // This code is distributed in the hope that it will be useful, but WITHOUT ANY + // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + // details. + // + // For a copy of the GNU General Public License, visit <http://www.gnu.org/> or + // write to the Free Software Foundation, Inc., 59 Temple Place--Suite 330, + // Boston, MA 02111-1307, USA. + // + // More info at <http://mysql-cocoa.sourceforge.net/> + // + // $Id$ + // $Author$ #import <Foundation/Foundation.h> Index: MCPNumber.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/MCPNumber.m,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MCPNumber.m 4 Aug 2004 23:24:06 -0000 1.1 --- MCPNumber.m 4 Aug 2004 23:44:08 -0000 1.2 *************** *** 3,9 **** // NumberTest // ! // Created by Serge Cohen on Tue Aug 03 2004. ! // Copyright (c) 2004 __MyCompanyName__. All rights reserved. // #import "MCPNumber.h" --- 3,26 ---- // NumberTest // ! // Created by serge cohen (ser...@m4...) on Sat Dec 08 2001. ! // Copyright (c) 2001 Serge Cohen. // + // This code is free software; you can redistribute it and/or modify it under + // the terms of the GNU General Public License as published by the Free + // Software Foundation; either version 2 of the License, or any later version. + // + // This code is distributed in the hope that it will be useful, but WITHOUT ANY + // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + // details. + // + // For a copy of the GNU General Public License, visit <http://www.gnu.org/> or + // write to the Free Software Foundation, Inc., 59 Temple Place--Suite 330, + // Boston, MA 02111-1307, USA. + // + // More info at <http://mysql-cocoa.sourceforge.net/> + // + // $Id$ + // $Author$ #import "MCPNumber.h" |
From: Serge C. <ser...@us...> - 2004-08-04 23:31:43
|
Update of /cvsroot/mysql-cocoa/SMySQL/MCPApplicationKit In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4169/MCPApplicationKit Modified Files: MCPDocument.h MCPDocument.m Log Message: Added the MCPNumber class to handle the unsigned integer numbers (so that there later printout/comparison/equality are coherent with there signedness). Adde support to the MCPNumber in the MCPResult, as well as proper support for the TEXT type (will now get output as NSString while it was NSData in previous release). Declare this version to be 2.3.0. 2004-08-05; Serge Cohen. Index: MCPDocument.h =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPApplicationKit/MCPDocument.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MCPDocument.h 14 May 2004 11:16:04 -0000 1.2 --- MCPDocument.h 4 Aug 2004 23:31:31 -0000 1.3 *************** *** 41,44 **** --- 41,45 ---- - (MCPResult *) MCPqueryString:(NSString *) query; - (unsigned int) MCPinsertRow:(NSString *) insert; + - (MCPConnection *) MCPgetConnection; // Accessors Index: MCPDocument.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPApplicationKit/MCPDocument.m,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MCPDocument.m 14 May 2004 11:16:04 -0000 1.2 --- MCPDocument.m 4 Aug 2004 23:31:31 -0000 1.3 *************** *** 45,48 **** --- 45,51 ---- MCPModelName = @""; } + if (NSClassFromString(@"MCPModel")) { // If the MCPEntrepriseKit is there, use it: + [NSClassFromString(@"MCPModel") getSharedModel]; + } return self; } *************** *** 94,97 **** --- 97,105 ---- } + - (MCPConnection *) MCPgetConnection + /*" Get directly the MCPConnection of the MCPDocument... This method should be used with care, because one can (inadvertly) modify the DB connection of the document itself, producing further inexpected state later."*/ + { + return MCPConnect; + } *************** *** 536,540 **** MCPConnect = nil; [self setMCPConInfoNeeded:YES]; ! NSLog (@"Connection to the server was Ok, but unable to find database : %@\n", MCPDatabase); } else { --- 544,549 ---- MCPConnect = nil; [self setMCPConInfoNeeded:YES]; ! // NSLog (@"Connection to the server was Ok, but unable to find database : %@\n", MCPDatabase); ! NSBeginInformationalAlertSheet(@"MCPDocument alert!", @"Acknowledge", nil, nil, [[self MCPMainWinCont] window], nil, NULL, NULL, nil, @"Connection to the DB server is OK, but it was not possible to select the database '%@'...\nEither it is not existing or you do not have the right to use it.", MCPDatabase); } else { |
From: Serge C. <ser...@us...> - 2004-08-04 23:31:43
|
Update of /cvsroot/mysql-cocoa/SMySQL/CLI_Test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4169/CLI_Test Modified Files: Make_DB_and_table.mysql main.m Log Message: Added the MCPNumber class to handle the unsigned integer numbers (so that there later printout/comparison/equality are coherent with there signedness). Adde support to the MCPNumber in the MCPResult, as well as proper support for the TEXT type (will now get output as NSString while it was NSData in previous release). Declare this version to be 2.3.0. 2004-08-05; Serge Cohen. Index: Make_DB_and_table.mysql =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/CLI_Test/Make_DB_and_table.mysql,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Make_DB_and_table.mysql 21 Aug 2003 06:30:52 -0000 1.2 --- Make_DB_and_table.mysql 4 Aug 2004 23:31:31 -0000 1.3 *************** *** 14,17 **** --- 14,18 ---- test1_text text NOT NULL default '', test1_ll bigint NOT NULL, + test1_ull bigint unsigned NOT NULL, PRIMARY KEY (test1_id) ) TYPE=MyISAM COMMENT='A simple test table for CLI_Test application running with SMySQL framework.'; *************** *** 21,23 **** --- 22,25 ---- INSERT INTO test1 (test1_id, test1_name, test1_desc, test1_text, test1_ll) VALUES (2,'second','second entry in the table', 'just to have more than just one line in the test1 table...', '2147483648'); INSERT INTO test1 (test1_id, test1_name, test1_desc, test1_text, test1_ll) VALUES (3,'third','third, and last, entry in the table', 'I like multiple lines in DB tables, but I\'m too lazy to go further than 3!!', '9223372036854775806'); + INSERT INTO test1 (test1_id, test1_name, test1_desc, test1_text, test1_ll, test1_ull) VALUES (4,'fourth','fourth entry in the table', 'just to UNSIGNED BIGINT...', '18446744073709551612', '18446744073709551612'); Index: main.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/CLI_Test/main.m,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** main.m 1 Mar 2004 11:49:17 -0000 1.2 --- main.m 4 Aug 2004 23:31:31 -0000 1.3 *************** *** 39,45 **** NSArray *names, *types; NSDictionary *row; ! unsigned int count, i; // insert code here... connection = [[MCPConnection alloc] initToHost:@"localhost" withLogin:@"ObjC" password:@"MySQL_class" usingPort:0]; [connection selectDB:@"test_mysqlclass"]; --- 39,51 ---- NSArray *names, *types; NSDictionary *row; ! unsigned int count, i; ! char *aBigIntegerAsString = "18446744073709551612"; ! // char *aBigIntegerAsString = "184467440737095516"; // insert code here... + NSLog(@"A big integer (64b required) : string : %s, as integer (using strtoull) : %llu, NSNumber :%@", aBigIntegerAsString, strtoull(aBigIntegerAsString, NULL, 0), [MCPNumber numberWithUnsignedLongLong:strtoull(aBigIntegerAsString, NULL, 0)]); + printf("The value of the strtoull functions is : %llu\n\n", strtoull(aBigIntegerAsString, NULL, 0)); + printf("The value of the strtoll functions is : %lli\n\n", strtoll(aBigIntegerAsString, NULL, 0)); + NSLog(@"And now, the NSNumber again, but this time asking for the unsigned value : %llu", [[MCPNumber numberWithUnsignedLongLong:strtoull(aBigIntegerAsString, NULL, 0)] unsignedLongLongValue]); connection = [[MCPConnection alloc] initToHost:@"localhost" withLogin:@"ObjC" password:@"MySQL_class" usingPort:0]; [connection selectDB:@"test_mysqlclass"]; *************** *** 96,100 **** connect2 = [[MCPConnection alloc] init]; [connect2 setConnectionOption:CLIENT_SSL toValue:YES]; ! [connect2 connectWithLogin:@"ObjC" password:@"MySQL_class" host:@"localhost" port:0 socket:nil]; [connect2 selectDB:@"test_mysqlclass"]; result = [connect2 listTables]; --- 102,107 ---- connect2 = [[MCPConnection alloc] init]; [connect2 setConnectionOption:CLIENT_SSL toValue:YES]; ! // [connect2 connectWithLogin:@"ObjC" password:@"MySQL_class" host:@"localhost" port:0 socket:nil]; ! [connect2 connectWithLogin:@"ObjC" password:@"MySQL_class" host:@"balsa.local" port:3306 socket:nil]; [connect2 selectDB:@"test_mysqlclass"]; result = [connect2 listTables]; *************** *** 104,107 **** --- 111,115 ---- NSLog (@"Here comes the last error information : %@\n", [connect2 getLastErrorMessage]); //*/ + [connect2 release]; [pool release]; return 0; |
From: Serge C. <ser...@us...> - 2004-08-04 23:26:45
|
Update of /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3360 Modified Files: project.pbxproj Log Message: Added the MCPNumber class to handle the unsigned integer numbers (so that there later printout/comparison/equality are coherent with there signedness). Adde support to the MCPNumber in the MCPResult, as well as proper support for the TEXT type (will now get output as NSString while it was NSData in previous release). Declare this version to be 2.3.0. 2004-08-05; Serge Cohen. Index: project.pbxproj =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/project.pbxproj,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** project.pbxproj 14 May 2004 11:16:04 -0000 1.32 --- project.pbxproj 4 Aug 2004 23:26:14 -0000 1.33 *************** *** 108,111 **** --- 108,112 ---- 0DCEFD9B04EEC2B800F30895, 08FB77AEFE84172EC02AAC07, + 95E3B345065DE1F7003EDFFE, 0DCEFD9C04EEC99E00F30895, 0DA7208704EE8DA3002E9126, *************** *** 157,161 **** CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.2.3; FRAMEWORK_SEARCH_PATHS = ""; FRAMEWORK_VERSION = A; --- 158,162 ---- CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.3.0; FRAMEWORK_SEARCH_PATHS = ""; FRAMEWORK_VERSION = A; *************** *** 192,196 **** <string>SMySQL</string> <key>CFBundleGetInfoString</key> ! <string>2.2.3, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> --- 193,197 ---- <string>SMySQL</string> <key>CFBundleGetInfoString</key> ! <string>2.3.0, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> *************** *** 204,212 **** <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.2.3</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> ! <string>2.2.3d1</string> <key>NSAppleScriptEnabled</key> <string>Yes</string> --- 205,213 ---- <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.3.0</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> ! <string>2.3.0d1</string> <key>NSAppleScriptEnabled</key> <string>Yes</string> *************** *** 230,233 **** --- 231,235 ---- 0D516E8D0538B9010000000A, 0D516E8F0538B9010000000A, + 95F9DB5506C11A08005F9DC5, ); isa = PBXHeadersBuildPhase; *************** *** 253,256 **** --- 255,259 ---- 0D516E8E0538B9010000000A, 0D516E900538B9010000000A, + 95F9DB5606C11A08005F9DC5, ); isa = PBXSourcesBuildPhase; *************** *** 328,331 **** --- 331,336 ---- 0DCFFE4104EE97AE00AD80EC, 0DCFFE4204EE97AE00AD80EC, + 95F9DB5306C11A08005F9DC5, + 95F9DB5406C11A08005F9DC5, 0DCFFE4404EE97AE00AD80EC, 0DCFFE4304EE97AE00AD80EC, *************** *** 373,377 **** runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nAUTODOC=/usr/local/bin/autodoc\nAUTODOC_FLAGS=\"-copydocs -timestamp -allclasses\"\nAUTODOC_FORMAT=html\nAUTODOC_LANGUAGE=English\nexport AD_COPYRIGHT=\"Serge Cohen\"\n\n# If autodoc is not installed, we quit without any error\ntest -x $AUTODOC || exit 0\n\nPUBLIC_DOC_INSTALLDIR=\"$SYMROOT/$PRODUCT_NAME.framework/Resources/$AUTODOC_LANGUAGE.lproj/Documentation\"\n\n# We need to write down file names here\nAUTODOC_FILES=\"MCPFoundationKit/MCPResultPlus.h MCPFoundationKit/MCPFastQueries.h MCPFoundationKit/MCPConnection.h MCPFoundationKit/MCPResult.h MCPFoundationKit/MCPNull.h MCPApplicationKit/MCPConnectionWinCont.h MCPApplicationKit/MCPDocument.h\"\nAUTODOC_DOCDIR=\"$PUBLIC_DOC_INSTALLDIR\"\n\nOTHER_AUTODOC_FLAGS=\"-typedirs -allclasses -combine -force -nosingles\"\n\nALL_AUTODOC_FLAGS=\"$AUTODOC_FLAGS $OTHER_AUTODOC_FLAGS\"\n\n$MKDIRS $PUBLIC_DOC_INSTALLDIR\n$AUTODOC $ALL_AUTODOC_FLAGS -format $AUTODOC_FORMAT -dest $AUTODOC_DOCDIR $AUTODOC_FILES\n"; }; 0D516E7C0538B8E60000000A = { --- 378,382 ---- runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nAUTODOC=/usr/local/bin/autodoc\nAUTODOC_FLAGS=\"-copydocs -timestamp -allclasses\"\nAUTODOC_FORMAT=html\nAUTODOC_LANGUAGE=English\nexport AD_COPYRIGHT=\"Serge Cohen\"\n\n# If autodoc is not installed, we quit without any error\ntest -x $AUTODOC || exit 0\n\nPUBLIC_DOC_INSTALLDIR=\"$SYMROOT/$PRODUCT_NAME.framework/Resources/$AUTODOC_LANGUAGE.lproj/Documentation\"\n\n# We need to write down file names here\nAUTODOC_FILES=\"MCPFoundationKit/MCPResultPlus.h MCPFoundationKit/MCPFastQueries.h MCPFoundationKit/MCPConnection.h MCPFoundationKit/MCPResult.h MCPFoundationKit/MCPNull.h MCPApplicationKit/MCPConnectionWinCont.h MCPApplicationKit/MCPDocument.h MCPEntrepriseKit/MCPAttribute.h MCPEntrepriseKit/MCPClassDescription.h MCPEntrepriseKit/MCPModel.h MCPEntrepriseKit/MCPObject.h\"\n\nAUTODOC_DOCDIR=\"$PUBLIC_DOC_INSTALLDIR\"\n\nOTHER_AUTODOC_FLAGS=\"-typedirs -allclasses -combine -force -nosingles\"\n\nALL_AUTODOC_FLAGS=\"$AUTODOC_FLAGS $OTHER_AUTODOC_FLAGS\"\n\n$MKDIRS $PUBLIC_DOC_INSTALLDIR\n$AUTODOC $ALL_AUTODOC_FLAGS -format $AUTODOC_FORMAT -dest $AUTODOC_DOCDIR $AUTODOC_FILES\n"; }; 0D516E7C0538B8E60000000A = { *************** *** 595,598 **** --- 600,604 ---- 0D516E850538B9010000000A, 0D516E870538B9010000000A, + 95F9DB5906C11A08005F9DC5, ); isa = PBXHeadersBuildPhase; *************** *** 618,621 **** --- 624,628 ---- 0D516E860538B9010000000A, 0D516E880538B9010000000A, + 95F9DB5A06C11A08005F9DC5, ); isa = PBXSourcesBuildPhase; *************** *** 654,658 **** CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.2.3; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; --- 661,665 ---- CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.3.0; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; *************** *** 689,693 **** <string>SMySQL_static</string> <key>CFBundleGetInfoString</key> ! <string>2.2.3, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> --- 696,700 ---- <string>SMySQL_static</string> <key>CFBundleGetInfoString</key> ! <string>2.3.0, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> *************** *** 701,709 **** <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.2.3</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> ! <string>2.2.3d1</string> <key>NSAppleScriptEnabled</key> <string>Yes</string> --- 708,716 ---- <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.3.0</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> ! <string>2.3.0d1</string> <key>NSAppleScriptEnabled</key> <string>Yes</string> *************** *** 740,743 **** --- 747,751 ---- 0D516E890538B9010000000A, 0D516E8B0538B9010000000A, + 95F9DB5706C11A08005F9DC5, ); isa = PBXHeadersBuildPhase; *************** *** 763,766 **** --- 771,775 ---- 0D516E8A0538B9010000000A, 0D516E8C0538B9010000000A, + 95F9DB5806C11A08005F9DC5, ); isa = PBXSourcesBuildPhase; *************** *** 799,803 **** CPLUSPLUS = "/usr/bin/g++"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.2.3; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; --- 808,812 ---- CPLUSPLUS = "/usr/bin/g++"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.3.0; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; *************** *** 849,853 **** <string>SMySQL_bundle</string> <key>CFBundleGetInfoString</key> ! <string>2.2.3, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> --- 858,862 ---- <string>SMySQL_bundle</string> <key>CFBundleGetInfoString</key> ! <string>2.3.0, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> *************** *** 861,869 **** <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.2.3</string> <key>CFBundleSignature</key> <string>mcpS</string> <key>CFBundleVersion</key> ! <string>2.2.3d1</string> <key>NSAppleScriptEnabled</key> <string>Yes</string> --- 870,878 ---- <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.3.0</string> <key>CFBundleSignature</key> <string>mcpS</string> <key>CFBundleVersion</key> ! <string>2.3.0d1</string> <key>NSAppleScriptEnabled</key> <string>Yes</string> *************** *** 1826,1830 **** <string>????</string> <key>CFBundleVersion</key> ! <string>2.2.3d1</string> </dict> </plist> --- 1835,1839 ---- <string>????</string> <key>CFBundleVersion</key> ! <string>2.3.0d1</string> </dict> </plist> *************** *** 1846,1850 **** runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nCP=\"cp -r\"\nWORK_DIR=\"$TARGET_BUILD_DIR/Distributions\"\n\nBASE_DIST_NAME=\"SMySQL\"\nVERSION_DIST=\"2.2.3\"\n\nSOURCE_FILES=\"CLI_Test MCPFoundationKit MCPApplicationKit SMySQLConstants.h SMySQL_Prefix.h README TO_DO TO_INSTALL gpl.txt gpl.html mysql_bins CLI_Test SMySQL.pbproj English.lproj\"\n\nBIN_FILES=\"SMySQL.framework SMySQL_static.framework SMySQL_bundled.framework CLI_Test\"\n\nrm -rf \"$WORK_DIR\"\n$MKDIRS \"$WORK_DIR\"\ncd \"$WORK_DIR\"\n\n#cat - > foo.txt <<EOF\n#This Foo Bar saying Hello World...\n#EOF\n\n# Preparing the source distribution:\nSOURCE_DIST_NAME=\"${BASE_DIST_NAME}_src_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Sources_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_SOURCES=`hdid -nomount Sources_Temp.dmg`\nnewfs_hfs -v \"$SOURCE_DIST_NAME\" $DEV_SOURCES\nhdiutil eject $DEV_SOURCES\n# Mount in writable way:\nhdid Sources_Temp.dmg > mount_source.log\nDEV_SOURCES=`awk '{print $1}' mount_source.log`\nVOL_SOURCES=`awk '{print $2}' mount_source.log`\n# Copy the sources to the source volume...\ncd \"$SRCROOT\"\n$CP $SOURCE_FILES $VOL_SOURCES\nfind $VOL_SOURCES -name 'CVS' -exec rm -rf {} \\;\n# Make a Tar/gz version of the distribution...\ncd $VOL_SOURCES\ncd ..\ngnutar -cvzf \"${WORK_DIR}/${SOURCE_DIST_NAME}.tgz\" ${SOURCE_DIST_NAME}\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_SOURCES\nhdiutil convert -format UDZO Sources_Temp.dmg -o ${SOURCE_DIST_NAME}.dmg\n\n# Preparing the binary distribution:\nBINS_DIST_NAME=\"${BASE_DIST_NAME}_bin_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Bins_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_BINS=`hdid -nomount Bins_Temp.dmg`\nnewfs_hfs -v \"$BINS_DIST_NAME\" $DEV_BINS\nhdiutil eject $DEV_BINS\n# Mount in writable way:\nhdid Bins_Temp.dmg > mount_bin.log\nDEV_BINS=`awk '{print $1}' mount_bin.log`\nVOL_BINS=`awk '{print $2}' mount_bin.log`\n# Copy the sources to the source volume...\ncd \"$TARGET_BUILD_DIR\"\n$CP $BIN_FILES $VOL_BINS\n$CP ${SRCROOT}/README_BIN ${VOL_BINS}/README\n$CP \"${SRCROOT}/CLI_Test/README.txt\" ${VOL_BINS}/CLI_Test_README\n$CP \"${SRCROOT}/CLI_Test/Make_DB_and_table.mysql\" ${VOL_BINS}/\nmv \"${VOL_BINS}/CLI_Test\" \"${VOL_BINS}/CLI_Test.command\"\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_BINS\nhdiutil convert -format UDZO Bins_Temp.dmg -o ${BINS_DIST_NAME}.dmg\n\n\n# Clean_up:\nrm -f Sources_Temp.dmg\nrm -f mount_source.log\nrm -f Bins_Temp.dmg\nrm -f mount_bin.log\n\necho Everything will be in : $WORK_DIR\n"; }; //0D0 --- 1855,1859 ---- runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nCP=\"cp -r\"\nWORK_DIR=\"$TARGET_BUILD_DIR/Distributions\"\n\nBASE_DIST_NAME=\"SMySQL\"\nVERSION_DIST=\"2.3.0\"\n\nSOURCE_FILES=\"CLI_Test MCPFoundationKit MCPApplicationKit SMySQLConstants.h SMySQL_Prefix.h README TO_DO TO_INSTALL gpl.txt gpl.html mysql_bins CLI_Test SMySQL.pbproj English.lproj\"\n\nBIN_FILES=\"SMySQL.framework SMySQL_static.framework SMySQL_bundled.framework CLI_Test\"\n\nrm -rf \"$WORK_DIR\"\n$MKDIRS \"$WORK_DIR\"\ncd \"$WORK_DIR\"\n\n#cat - > foo.txt <<EOF\n#This Foo Bar saying Hello World...\n#EOF\n\n# Preparing the source distribution:\nSOURCE_DIST_NAME=\"${BASE_DIST_NAME}_src_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Sources_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_SOURCES=`hdid -nomount Sources_Temp.dmg`\nnewfs_hfs -v \"$SOURCE_DIST_NAME\" $DEV_SOURCES\nhdiutil eject $DEV_SOURCES\n# Mount in writable way:\nhdid Sources_Temp.dmg > mount_source.log\nDEV_SOURCES=`awk '{print $1}' mount_source.log`\nVOL_SOURCES=`awk '{print $2}' mount_source.log`\n# Copy the sources to the source volume...\ncd \"$SRCROOT\"\n$CP $SOURCE_FILES $VOL_SOURCES\nfind $VOL_SOURCES -name 'CVS' -exec rm -rf {} \\;\n# Make a Tar/gz version of the distribution...\ncd $VOL_SOURCES\ncd ..\ngnutar -cvzf \"${WORK_DIR}/${SOURCE_DIST_NAME}.tgz\" ${SOURCE_DIST_NAME}\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_SOURCES\nhdiutil convert -format UDZO -imagekey zlib-level=9 Sources_Temp.dmg -o ${SOURCE_DIST_NAME}.dmg\n\n# Preparing the binary distribution:\nBINS_DIST_NAME=\"${BASE_DIST_NAME}_bin_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Bins_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_BINS=`hdid -nomount Bins_Temp.dmg`\nnewfs_hfs -v \"$BINS_DIST_NAME\" $DEV_BINS\nhdiutil eject $DEV_BINS\n# Mount in writable way:\nhdid Bins_Temp.dmg > mount_bin.log\nDEV_BINS=`awk '{print $1}' mount_bin.log`\nVOL_BINS=`awk '{print $2}' mount_bin.log`\n# Copy the sources to the source volume...\ncd \"$TARGET_BUILD_DIR\"\n$CP $BIN_FILES $VOL_BINS\n$CP ${SRCROOT}/README_BIN ${VOL_BINS}/README\n$CP \"${SRCROOT}/CLI_Test/README.txt\" ${VOL_BINS}/CLI_Test_README\n$CP \"${SRCROOT}/CLI_Test/Make_DB_and_table.mysql\" ${VOL_BINS}/\nmv \"${VOL_BINS}/CLI_Test\" \"${VOL_BINS}/CLI_Test.command\"\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_BINS\nhdiutil convert -format UDZO -imagekey zlib-level=9 Bins_Temp.dmg -o ${BINS_DIST_NAME}.dmg\n\n\n# Clean_up:\nrm -f Sources_Temp.dmg\nrm -f mount_source.log\nrm -f Bins_Temp.dmg\nrm -f mount_bin.log\n\necho Everything will be in : $WORK_DIR\n"; }; //0D0 *************** *** 1938,1941 **** --- 1947,2020 ---- //953 //954 + 950FF3DD0661F97300A3CE59 = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + path = MCPModel.h; + refType = 4; + sourceTree = "<group>"; + }; + 950FF3DE0661F97300A3CE59 = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; + path = MCPModel.m; + refType = 4; + sourceTree = "<group>"; + }; + 953A3226065BCFAE00A492C0 = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = MCPObject.h; + path = MCPEntrepriseKit/MCPObject.h; + refType = 2; + sourceTree = SOURCE_ROOT; + }; + 953A3227065BCFAE00A492C0 = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; + name = MCPObject.m; + path = MCPEntrepriseKit/MCPObject.m; + refType = 2; + sourceTree = SOURCE_ROOT; + }; + 953A3230065BDCC700A492C0 = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = MCPClassDescription.h; + path = MCPEntrepriseKit/MCPClassDescription.h; + refType = 2; + sourceTree = SOURCE_ROOT; + }; + 953A3231065BDCC700A492C0 = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; + name = MCPClassDescription.m; + path = MCPEntrepriseKit/MCPClassDescription.m; + refType = 2; + sourceTree = SOURCE_ROOT; + }; + 953A3244065C239300A492C0 = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = MCPAttribute.h; + path = MCPEntrepriseKit/MCPAttribute.h; + refType = 2; + sourceTree = SOURCE_ROOT; + }; + 953A3245065C239300A492C0 = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; + name = MCPAttribute.m; + path = MCPEntrepriseKit/MCPAttribute.m; + refType = 2; + sourceTree = SOURCE_ROOT; + }; 959A3B2105F2A514008C6B3F = { buildActionMask = 2147483647; *************** *** 1947,1950 **** --- 2026,2045 ---- runOnlyForDeploymentPostprocessing = 0; }; + 95E3B345065DE1F7003EDFFE = { + children = ( + 953A3226065BCFAE00A492C0, + 953A3227065BCFAE00A492C0, + 953A3230065BDCC700A492C0, + 953A3231065BDCC700A492C0, + 953A3244065C239300A492C0, + 953A3245065C239300A492C0, + 950FF3DD0661F97300A3CE59, + 950FF3DE0661F97300A3CE59, + ); + isa = PBXGroup; + path = MCPEntrepriseKit; + refType = 4; + sourceTree = "<group>"; + }; 95EC05D7055FEA060052E544 = { containerPortal = 0867D690FE84028FC02AAC07; *************** *** 1982,1985 **** --- 2077,2141 ---- remoteInfo = SMySQL_static; }; + 95F9DB5306C11A08005F9DC5 = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + path = MCPNumber.h; + refType = 4; + sourceTree = "<group>"; + }; + 95F9DB5406C11A08005F9DC5 = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; + path = MCPNumber.m; + refType = 4; + sourceTree = "<group>"; + }; + 95F9DB5506C11A08005F9DC5 = { + fileRef = 95F9DB5306C11A08005F9DC5; + isa = PBXBuildFile; + settings = { + ATTRIBUTES = ( + Public, + ); + }; + }; + 95F9DB5606C11A08005F9DC5 = { + fileRef = 95F9DB5406C11A08005F9DC5; + isa = PBXBuildFile; + settings = { + }; + }; + 95F9DB5706C11A08005F9DC5 = { + fileRef = 95F9DB5306C11A08005F9DC5; + isa = PBXBuildFile; + settings = { + ATTRIBUTES = ( + Public, + ); + }; + }; + 95F9DB5806C11A08005F9DC5 = { + fileRef = 95F9DB5406C11A08005F9DC5; + isa = PBXBuildFile; + settings = { + }; + }; + 95F9DB5906C11A08005F9DC5 = { + fileRef = 95F9DB5306C11A08005F9DC5; + isa = PBXBuildFile; + settings = { + ATTRIBUTES = ( + Public, + ); + }; + }; + 95F9DB5A06C11A08005F9DC5 = { + fileRef = 95F9DB5406C11A08005F9DC5; + isa = PBXBuildFile; + settings = { + }; + }; }; rootObject = 0867D690FE84028FC02AAC07; |
From: Serge C. <ser...@us...> - 2004-08-04 23:24:17
|
Update of /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2859 Modified Files: MCPConnection.h MCPConnection.m MCPFastQueries.m MCPResult.h MCPResult.m SMySQL.h SMySQL_bundled.h SMySQL_static.h Added Files: MCPNumber.h MCPNumber.m Log Message: Added the MCPNumber class to handle the unsigned integer numbers (so that there later printout/comparison/equality are coherent with there signedness). Adde support to the MCPNumber in the MCPResult () --- NEW FILE: MCPNumber.h --- // // MCPNumber.h // NumberTest // // Created by Serge Cohen on Tue Aug 03 2004. // Copyright (c) 2004 __MyCompanyName__. All rights reserved. // #import <Foundation/Foundation.h> @interface MCPNumber : NSNumber { const char *typeCode; NSNumber *number; } - (id) initWithChar:(char) value; - (id) initWithUnsignedChar:(unsigned char) value; - (id) initWithShort:(short) value; - (id) initWithUnsignedShort:(unsigned short) value; - (id) initWithInt:(int) value; - (id) initWithUnsignedInt:(unsigned int) value; - (id) initWithLong:(long) value; - (id) initWithUnsignedLong:(unsigned long) value; - (id) initWithLongLong:(long long) value; - (id) initWithUnsignedLongLong:(unsigned long long) value; - (id) initWithFloat:(float) value; - (id) initWithDouble:(double) value; - (id) initWithBool:(BOOL) value; + (MCPNumber *) numberWithChar:(char) value; + (MCPNumber *) numberWithUnsignedChar:(unsigned char) value; + (MCPNumber *) numberWithShort:(short) value; + (MCPNumber *) numberWithUnsignedShort:(unsigned short) value; + (MCPNumber *) numberWithInt:(int) value; + (MCPNumber *) numberWithUnsignedInt:(unsigned int) value; + (MCPNumber *) numberWithLong:(long) value; + (MCPNumber *) numberWithUnsignedLong:(unsigned long) value; + (MCPNumber *) numberWithLongLong:(long long) value; + (MCPNumber *) numberWithUnsignedLongLong:(unsigned long long) value; + (MCPNumber *) numberWithFloat:(float) value; + (MCPNumber *) numberWithDouble:(double) value; + (MCPNumber *) numberWithBool:(BOOL) value; - (void) dealloc; /*" Most important : NSNumber primitive methods: "*/ - (const char *) objCType; - (void) getValue:(void *) buffer; //- (NSString *) descriptionWithLocale:(NSDictionary *) aLocale; // Not Primitive, but buggy... - (char) charValue; - (unsigned char) unsignedCharValue; - (short) shortValue; - (unsigned short) unsignedShortValue; - (int) intValue; - (unsigned int) unsignedIntValue; - (long) longValue; - (unsigned long) unsignedLongValue; - (long long) longLongValue; - (unsigned long long) unsignedLongLongValue; - (float) floatValue; - (double) doubleValue; - (BOOL) boolValue; @end --- NEW FILE: MCPNumber.m --- // // MCPNumber.m // NumberTest // // Created by Serge Cohen on Tue Aug 03 2004. // Copyright (c) 2004 __MyCompanyName__. All rights reserved. // #import "MCPNumber.h" @implementation MCPNumber #pragma mark Instance Methods: initialilzers. - (id) initWithChar:(char) value { typeCode = @encode(char); number = [[NSNumber alloc] initWithChar:value]; return self; } - (id) initWithUnsignedChar:(unsigned char) value { typeCode = @encode(unsigned char); number = [[NSNumber alloc] initWithUnsignedChar:value]; return self; } - (id) initWithShort:(short) value { typeCode = @encode(short); number = [[NSNumber alloc] initWithShort:value]; return self; } - (id) initWithUnsignedShort:(unsigned short) value { typeCode = @encode(unsigned short); number = [[NSNumber alloc] initWithUnsignedShort:value]; return self; } - (id) initWithInt:(int) value { typeCode = @encode(int); number = [[NSNumber alloc] initWithInt:value]; return self; } - (id) initWithUnsignedInt:(unsigned int) value { typeCode = @encode(unsigned int); number = [[NSNumber alloc] initWithUnsignedInt:value]; return self; } - (id) initWithLong:(long) value { typeCode = @encode(long); number = [[NSNumber alloc] initWithLong:value]; return self; } - (id) initWithUnsignedLong:(unsigned long) value { typeCode = @encode(unsigned long); number = [[NSNumber alloc] initWithUnsignedLong:value]; return self; } - (id) initWithLongLong:(long long) value { typeCode = @encode(long long); number = [[NSNumber alloc] initWithLongLong:value]; return self; } - (id) initWithUnsignedLongLong:(unsigned long long) value { typeCode = @encode(unsigned long long); number = [[NSNumber alloc] initWithUnsignedLongLong:value]; return self; } - (id) initWithFloat:(float) value { typeCode = @encode(float); number = [[NSNumber alloc] initWithFloat:value]; return self; } - (id) initWithDouble:(double) value { typeCode = @encode(double); number = [[NSNumber alloc] initWithDouble:value]; return self; } - (id) initWithBool:(BOOL) value { typeCode = @encode(BOOL); number = [[NSNumber alloc] initWithBool:value]; return self; } - (void) dealloc { [number release]; } #pragma mark Class Method: "Creators" + (MCPNumber *) numberWithChar:(char) value { return [[[MCPNumber alloc] initWithChar:value] autorelease]; } + (MCPNumber *) numberWithUnsignedChar:(unsigned char) value { return [[[MCPNumber alloc] initWithUnsignedChar:value] autorelease]; } + (MCPNumber *) numberWithShort:(short) value { return [[[MCPNumber alloc] initWithShort:value] autorelease]; } + (MCPNumber *) numberWithUnsignedShort:(unsigned short) value { return [[[MCPNumber alloc] initWithUnsignedShort:value] autorelease]; } + (MCPNumber *) numberWithInt:(int) value { return [[[MCPNumber alloc] initWithInt:value] autorelease]; } + (MCPNumber *) numberWithUnsignedInt:(unsigned int) value { return [[[MCPNumber alloc] initWithUnsignedInt:value] autorelease]; } + (MCPNumber *) numberWithLong:(long) value { return [[[MCPNumber alloc] initWithLong:value] autorelease]; } + (MCPNumber *) numberWithUnsignedLong:(unsigned long) value { return [[[MCPNumber alloc] initWithUnsignedLong:value] autorelease]; } + (MCPNumber *) numberWithLongLong:(long long) value { return [[[MCPNumber alloc] initWithLongLong:value] autorelease]; } + (MCPNumber *) numberWithUnsignedLongLong:(unsigned long long) value { return [[[MCPNumber alloc] initWithUnsignedLongLong:value] autorelease]; } + (MCPNumber *) numberWithFloat:(float) value { return [[[MCPNumber alloc] initWithFloat:value] autorelease]; } + (MCPNumber *) numberWithDouble:(double) value { return [[[MCPNumber alloc] initWithDouble:value] autorelease]; } + (MCPNumber *) numberWithBool:(BOOL) value { return [[[MCPNumber alloc] initWithBool:value] autorelease]; } #pragma mark NSValue primitive methods - (const char *) objCType { return typeCode; } - (void) getValue:(void *) buffer { [number getValue:buffer]; } /* - (NSString *) descriptionWithLocale:(NSDictionary *) aLocale // Not Primitive, but buggy... { NSString *theFormat; unsigned int theSize; void *theBuffer; NSString *theRet; switch (typeCode[0]) { // case @encode(unsigned long long) : PROBLEM @encode returns a POINTER to a char...(C string). case 'Q' : theFormat = @"%llu"; theSize = sizeof(unsigned long long); break; case 'L' : theFormat = @"%lu"; theSize = sizeof(unsigned long); break; default : return [number descriptionWithLocale:aLocale]; break; } theBuffer = malloc(theSize); [number getValue:theBuffer]; theRet = [[NSString alloc] initWithFormat:theFormat locale:aLocale arguments:theBuffer]; free(theBuffer); return [theRet autorelease]; } */ #pragma mark NSNumber primitive methods /* Reparing the absence of primitive methodes in NSNumber : */ - (char) charValue { return [number charValue]; } - (unsigned char) unsignedCharValue { return [number unsignedCharValue]; } - (short) shortValue { return [number shortValue]; } - (unsigned short) unsignedShortValue { return [number unsignedShortValue]; } - (int) intValue { return [number intValue]; } - (unsigned int) unsignedIntValue { return [number unsignedIntValue]; } - (long) longValue { return [number longValue]; } - (unsigned long) unsignedLongValue { return [number unsignedLongValue]; } - (long long) longLongValue { return [number longLongValue]; } - (unsigned long long) unsignedLongLongValue { return [number unsignedLongLongValue]; } - (float) floatValue { return [number floatValue]; } - (double) doubleValue { return [number doubleValue]; } - (BOOL) boolValue { return [number boolValue]; } @end Index: MCPConnection.h =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/MCPConnection.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MCPConnection.h 11 Oct 2003 20:32:25 -0000 1.2 --- MCPConnection.h 4 Aug 2004 23:24:06 -0000 1.3 *************** *** 42,49 **** @interface MCPConnection : NSObject { ! MYSQL *mConnection; /*"The inited MySQL connection"*/ ! BOOL mConnected; /*"Reflect the fact that the connection is already in place or not"*/ ! NSStringEncoding mEncoding; /*"The encoding used by MySQL server, to ISO-1 default"*/ ! unsigned int mConnectionFlags; /*"The flags to be used for the connection to the database."*/ } /*" --- 42,50 ---- @interface MCPConnection : NSObject { ! @protected ! MYSQL *mConnection; /*"The inited MySQL connection"*/ ! BOOL mConnected; /*"Reflect the fact that the connection is already in place or not"*/ ! NSStringEncoding mEncoding; /*"The encoding used by MySQL server, to ISO-1 default"*/ ! unsigned int mConnectionFlags; /*"The flags to be used for the connection to the database."*/ } /*" *************** *** 88,91 **** --- 89,93 ---- - (NSString *) prepareBinaryData:(NSData *) theData; - (NSString *) prepareString:(NSString *) theString; + - (NSString *) quoteObject:(id) theObject; - (MCPResult *) queryString:(NSString *) query; Index: MCPConnection.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/MCPConnection.m,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** MCPConnection.m 14 May 2004 11:16:04 -0000 1.4 --- MCPConnection.m 4 Aug 2004 23:24:06 -0000 1.5 *************** *** 4,8 **** // // Created by serge cohen (ser...@m4...) on Sat Dec 08 2001. ! // Copyright (c) 2001 Serge Cohen. // // This code is free software; you can redistribute it and/or modify it under --- 4,8 ---- // // Created by serge cohen (ser...@m4...) on Sat Dec 08 2001. ! // Copyright (c) 2001 Serge Cohen. All rights reserved. // // This code is free software; you can redistribute it and/or modify it under *************** *** 27,33 **** #import "MCPConnection.h" #import "MCPResult.h" const unsigned int kMCPConnectionDefaultOption = CLIENT_COMPRESS; ! const char *kMCPConnectionDefaultSocket = MYSQL_UNIX_ADDR; const unsigned int kMCPConnection_Not_Inited = 1000; --- 27,34 ---- #import "MCPConnection.h" #import "MCPResult.h" + #import "MCPNumber.h" const unsigned int kMCPConnectionDefaultOption = CLIENT_COMPRESS; ! const char *kMCPConnectionDefaultSocket = MYSQL_UNIX_ADDR; const unsigned int kMCPConnection_Not_Inited = 1000; *************** *** 40,44 **** /*" !{ $Id$ } ! !{ $Name$ } This class is used to keep a connection with a MySQL server, it correspond to the MYSQL structure of the C API, or the database handle of the PERL DBI/DBD interface. --- 41,45 ---- /*" !{ $Id$ } ! !{ $Author$ } This class is used to keep a connection with a MySQL server, it correspond to the MYSQL structure of the C API, or the database handle of the PERL DBI/DBD interface. *************** *** 57,60 **** --- 58,65 ---- ... } + + #{NOTE} Failing to properly release your MCPConnection(s) object might cause a MySQL crash!!! (recovered if the + server was started using mysqld_safe). + "*/ *************** *** 122,126 **** { if (self = [MCPConnection class]) { ! [self setVersion:020203]; // Ma.Mi.Re -> MaMiRe } --- 127,131 ---- { if (self = [MCPConnection class]) { ! [self setVersion:020300]; // Ma.Mi.Re -> MaMiRe } *************** *** 419,422 **** --- 424,456 ---- + - (NSString *) quoteObject:(id) theObject + /*" Use the class of the theObject to know how it should be prepared for usage with the database. + If theObject is a string, this method will put single quotes to both its side and escape any necessary + character using prepareString: method. If theObject is NSData, the prepareBinaryData: method will be + used instead. + For NSNumber object, the number is just quoted, for calendar dates, the calendar date is formatted in + the preferred format for the database. + "*/ + { + if ([theObject isKindOfClass:[NSData class]]) { + return [NSString stringWithFormat:@"'%@'", [self prepareBinaryData:(NSData *) theObject]]; + } + if ([theObject isKindOfClass:[NSString class]]) { + return [NSString stringWithFormat:@"'%@'", [self prepareString:(NSString *) theObject]]; + } + if ([theObject isKindOfClass:[NSNumber class]]) { + return [NSString stringWithFormat:@"%@", theObject]; + } + if ([theObject isKindOfClass:[NSCalendarDate class]]) { + return [NSString stringWithFormat:@"'%@'", [(NSCalendarDate *)theObject descriptionWithCalendarFormat:@"%Y-%m-%d %H:%M:%S"]]; + } + if ((nil == theObject) || ([theObject isKindOfClass:[NSNull class]])) { + return @"NULL"; + } + // Default : quote as string: + return [NSString stringWithFormat:@"'%@'", [self prepareString:[theObject description]]]; + } + + - (MCPResult *) queryString:(NSString *) query /*" *************** *** 670,674 **** "*/ { ! return [NSNumber numberWithUnsignedInt:mysql_get_proto_info(mConnection)]; } --- 704,708 ---- "*/ { ! return [MCPNumber numberWithUnsignedInt:mysql_get_proto_info(mConnection)]; } Index: MCPFastQueries.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/MCPFastQueries.m,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MCPFastQueries.m 11 Oct 2003 18:48:07 -0000 1.1 --- MCPFastQueries.m 4 Aug 2004 23:24:06 -0000 1.2 *************** *** 41,45 **** /*" Send the query aQuery to the server and retrieve the row id if the table have a autoincrement column. ! Returns 0 if no have been inserted "*/ { --- 41,45 ---- /*" Send the query aQuery to the server and retrieve the row id if the table have a autoincrement column. ! Returns 0 if nothing have been inserted. "*/ { Index: MCPResult.h =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/MCPResult.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MCPResult.h 11 Oct 2003 18:48:07 -0000 1.1 --- MCPResult.h 4 Aug 2004 23:24:06 -0000 1.2 *************** *** 31,39 **** @interface MCPResult : NSObject { ! MYSQL_RES *mResult; /*"The MYSQL_RES structure of the C API"*/ ! NSArray *mNames; /*"An NSArray holding the name of the columns"*/ ! NSDictionary *mMySQLLocales; /*"A Locales dictionary to define the locales of MySQL"*/ ! NSStringEncoding mEncoding; /*"The encoding used by MySQL server, to ISO-1 default"*/ ! unsigned int mNumOfFields; /*"The number of fields in the result"*/ } /*" --- 31,40 ---- @interface MCPResult : NSObject { ! @protected ! MYSQL_RES *mResult; /*"The MYSQL_RES structure of the C API"*/ ! NSArray *mNames; /*"An NSArray holding the name of the columns"*/ ! NSDictionary *mMySQLLocales; /*"A Locales dictionary to define the locales of MySQL"*/ ! NSStringEncoding mEncoding; /*"The encoding used by MySQL server, to ISO-1 default"*/ ! unsigned int mNumOfFields; /*"The number of fields in the result"*/ } /*" *************** *** 78,81 **** --- 79,85 ---- - (NSDictionary *) fetchTypesAsDictionary; + - (unsigned int) fetchFlagsAtIndex:(unsigned int) index; + - (unsigned int) fetchFlagsForKey:(NSString *) key; + - (BOOL) isBlobAtIndex:(unsigned int) index; - (BOOL) isBlobForKey:(NSString *) key; Index: MCPResult.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/MCPResult.m,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** MCPResult.m 4 Mar 2004 17:52:37 -0000 1.4 --- MCPResult.m 4 Aug 2004 23:24:06 -0000 1.5 *************** *** 27,30 **** --- 27,31 ---- #import "MCPConnection.h" #import "MCPNull.h" + #import "MCPNumber.h" #import "MCPResult.h" *************** *** 67,75 **** + (void) initialize /*" ! Initialize the class version to 2.0.0 "*/ { if (self = [MCPResult class]) { ! [self setVersion:020203]; // Ma.Mi.Re -> MaMiRe MCPYear0000 = [[NSCalendarDate dateWithTimeIntervalSinceReferenceDate:-63146822400.0] retain]; [MCPYear0000 setCalendarFormat:@"%Y"]; --- 68,76 ---- + (void) initialize /*" ! Initialize the class version to 2.3.0 "*/ { if (self = [MCPResult class]) { ! [self setVersion:020300]; // Ma.Mi.Re -> MaMiRe MCPYear0000 = [[NSCalendarDate dateWithTimeIntervalSinceReferenceDate:-63146822400.0] retain]; [MCPYear0000 setCalendarFormat:@"%Y"]; *************** *** 211,215 **** - (id) fetchRowAsType:(MCPReturnType) aType /*" ! Return the next row of the result as a collection of type defined by aType (namely MCPTypeArray or MCPTypeDictionary). Each field of the row is made into a proper object to hold the info (NSNumber, NSString...). This method returned directly the #{mutable} object generated while going through all the columns --- 212,216 ---- - (id) fetchRowAsType:(MCPReturnType) aType /*" ! Return the next row of the result as a collection of type defined by aType (namely MCPTypeArray or MCPTypeDictionary). Each field of the row is made into a proper object to hold the info (NSNumber -indeed MCPNumber, to keep signedness-, NSString...). This method returned directly the #{mutable} object generated while going through all the columns *************** *** 258,262 **** else { char *theData = calloc(sizeof(char),theLengths[i]+1); ! char *theUselLess; memcpy(theData, theRow[i],theLengths[i]); theData[theLengths[i]] = '\0'; --- 259,263 ---- else { char *theData = calloc(sizeof(char),theLengths[i]+1); ! // char *theUselLess; memcpy(theData, theRow[i],theLengths[i]); theData[theLengths[i]] = '\0'; *************** *** 267,274 **** case FIELD_TYPE_INT24: case FIELD_TYPE_LONG: ! theCurrentObj = [NSNumber numberWithLong:atol(theData)]; break; case FIELD_TYPE_LONGLONG: theCurrentObj = [NSNumber numberWithLongLong:strtoq(theData, &theUselLess, 0)]; break; case FIELD_TYPE_DECIMAL: --- 268,289 ---- case FIELD_TYPE_INT24: case FIELD_TYPE_LONG: ! theCurrentObj = (theField[i].flags & UNSIGNED_FLAG) ? [MCPNumber numberWithUnsignedLong:strtoul(theData, NULL, 0)] : [MCPNumber numberWithLong:strtol(theData, NULL, 0)]; ! /* ! if (theField[i].flags & UNSIGNED_FLAG) { // Signed integer (32b or less) ! theCurrentObj = [NSNumber numberWithUnsignedLong:strtoul(theData, NULL, 0)]; ! } ! else { // Signed integer (32b or less) ! // theCurrentObj = [NSNumber numberWithLong:atol(theData)]; ! theCurrentObj = [NSNumber numberWithLong:strtol(theData, NULL, 0)]; ! } ! #warning Should check for UNSIGNED (using theField[i].flag UNSIGNED_FLAG) ! */ break; case FIELD_TYPE_LONGLONG: + theCurrentObj = (theField[i].flags & UNSIGNED_FLAG) ? [MCPNumber numberWithUnsignedLongLong:strtoull(theData, NULL, 0)] : [MCPNumber numberWithLongLong:strtoll(theData, NULL, 0)]; + /* theCurrentObj = [NSNumber numberWithLongLong:strtoq(theData, &theUselLess, 0)]; + #warning Should check for UNSIGNED (using theField[i].flag UNSIGNED_FLAG) + */ break; case FIELD_TYPE_DECIMAL: *************** *** 317,320 **** --- 332,339 ---- case FIELD_TYPE_LONG_BLOB: theCurrentObj = [NSData dataWithBytes:theData length:theLengths[i]]; + if (!(theField[i].flags & BINARY_FLAG)) { // It is TEXT and NOT BLOB... + theCurrentObj = [self stringWithText:theCurrentObj]; + } + //#warning Should check for TEXT (using theField[i].flag BINARY_FLAG) break; case FIELD_TYPE_SET: *************** *** 596,605 **** - (BOOL) isBlobAtIndex:(unsigned int) index /*" Return YES if the field with the given index is a BLOB. It should be used to discriminates between BLOBs and TEXTs. ! #{NOT YET IMPLEMENTED}, return YES for both BLOBs and TEXTs... ! "*/ { BOOL theRet; --- 615,678 ---- + - (unsigned int) fetchFlagsAtIndex:(unsigned int) index + /*" Return the MySQL flags of the column at the given index... Can be used to check if a number is signed or not... + "*/ + { + unsigned int theRet; + unsigned int theNumFields; + MYSQL_FIELD *theField; + + if (mResult == NULL) { + // If no results, give an empty array. Maybe it's better to give a nil pointer? + return (0); + } + + theNumFields = [self numOfFields]; + theField = mysql_fetch_fields(mResult); + if (index >= theNumFields) { + // Out of range... should raise an exception + theRet = 0; + } + else { + theRet = theField[index].flags; + } + return theRet; + } + + - (unsigned int) fetchFlagsForKey:(NSString *) key + { + unsigned int theRet; + unsigned int theNumFields, index; + MYSQL_FIELD *theField; + + if (mResult == NULL) { + // If no results, give an empty array. Maybe it's better to give a nil pointer? + return (0); + } + + if (mNames == NULL) { + [self fetchFieldsName]; + } + + theNumFields = [self numOfFields]; + theField = mysql_fetch_fields(mResult); + if ((index = [mNames indexOfObject:key]) == NSNotFound) { + // Non existent key... should raise an exception + theRet = 0; + } + else { + theRet = theField[index].flags; + } + return theRet; + } + - (BOOL) isBlobAtIndex:(unsigned int) index /*" Return YES if the field with the given index is a BLOB. It should be used to discriminates between BLOBs and TEXTs. ! #{DEPRECATED}, This method is not consistent with the C API which is supposed to return YES for BOTH text and blob (and BTW is also deprecated)... ! ! #{NOTE} That the current version handles properly TEXT, and returns those as NSString (and not NSData as it used to be). ! "*/ { BOOL theRet; *************** *** 624,628 **** case FIELD_TYPE_MEDIUM_BLOB: case FIELD_TYPE_LONG_BLOB: ! theRet = YES; break; default: --- 697,702 ---- case FIELD_TYPE_MEDIUM_BLOB: case FIELD_TYPE_LONG_BLOB: ! // theRet = YES; ! theRet = (theField[index].flags & BINARY_FLAG); break; default: *************** *** 638,642 **** Return YES if the field (by name) with the given index is a BLOB. It should be used to discriminates between BLOBs and TEXTs. ! #{NOT YET IMPLEMENTED}, return YES for both BLOBs and TEXTs... "*/ { --- 712,718 ---- Return YES if the field (by name) with the given index is a BLOB. It should be used to discriminates between BLOBs and TEXTs. ! #{DEPRECATED}, This method is not consistent with the C API which is supposed to return YES for BOTH text and blob (and BTW is also deprecated)... ! ! #{NOTE} That the current version handles properly TEXT, and returns those as NSString (and not NSData as it used to be). "*/ { *************** *** 666,670 **** case FIELD_TYPE_MEDIUM_BLOB: case FIELD_TYPE_LONG_BLOB: ! theRet = YES; break; default: --- 742,747 ---- case FIELD_TYPE_MEDIUM_BLOB: case FIELD_TYPE_LONG_BLOB: ! // theRet = YES; ! theRet = (theField[index].flags & BINARY_FLAG); break; default: *************** *** 679,683 **** - (NSString *) stringWithText:(NSData *) theTextData /*" ! Use the string encoding to convert the returned NSData to a string (for a Text field) "*/ { --- 756,760 ---- - (NSString *) stringWithText:(NSData *) theTextData /*" ! Use the string encoding to convert the returned NSData to a string (for a TEXT field) "*/ { Index: SMySQL.h =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/SMySQL.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SMySQL.h 11 Oct 2003 18:48:07 -0000 1.1 --- SMySQL.h 4 Aug 2004 23:24:06 -0000 1.2 *************** *** 32,35 **** --- 32,36 ---- #import <SMySQL/MCPResult.h> #import <SMySQL/MCPConnection.h> + #import <SMySQL/MCPNumber.h> #import <SMySQL/MCPResultPlus.h> #import <SMySQL/MCPFastQueries.h> Index: SMySQL_bundled.h =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/SMySQL_bundled.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SMySQL_bundled.h 11 Oct 2003 19:21:31 -0000 1.2 --- SMySQL_bundled.h 4 Aug 2004 23:24:06 -0000 1.3 *************** *** 32,35 **** --- 32,36 ---- #import <SMySQL_bundled/MCPResult.h> #import <SMySQL_bundled/MCPConnection.h> + #import <SMySQL_bundled/MCPNumber.h> #import <SMySQL_bundled/MCPResultPlus.h> #import <SMySQL_bundled/MCPFastQueries.h> Index: SMySQL_static.h =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/SMySQL_static.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SMySQL_static.h 11 Oct 2003 19:21:31 -0000 1.2 --- SMySQL_static.h 4 Aug 2004 23:24:07 -0000 1.3 *************** *** 32,35 **** --- 32,36 ---- #import <SMySQL_static/MCPResult.h> #import <SMySQL_static/MCPConnection.h> + #import <SMySQL_static/MCPNumber.h> #import <SMySQL_static/MCPResultPlus.h> #import <SMySQL_static/MCPFastQueries.h> |
From: Serge C. <ser...@us...> - 2004-05-14 11:16:15
|
Update of /cvsroot/mysql-cocoa/SMySQL/MCPApplicationKit In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv730/MCPApplicationKit Modified Files: MCPConnectionWinCont.h MCPConnectionWinCont.m MCPDocument.h MCPDocument.m Log Message: Quite some work to fix and enhance the MCPApplicationKit. Now supports well the creation of a database, and fixed an issue with the nib file being unproperly placed. 2004-05-14; Serge Cohen. Index: MCPConnectionWinCont.h =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPApplicationKit/MCPConnectionWinCont.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MCPConnectionWinCont.h 11 Oct 2003 22:32:40 -0000 1.1 --- MCPConnectionWinCont.h 14 May 2004 11:16:04 -0000 1.2 *************** *** 23,26 **** --- 23,27 ---- IBOutlet NSTextField *mPasswordField; + IBOutlet NSButton *mCreateButton; // MCPDocument *mMCPDocument; } *************** *** 29,35 **** /*" Actions for Interface Builder "*/ /*" For the clear text information. "*/ ! - (IBAction)doGo:(id) sender; ! - (IBAction)doCancel:(id) sender; ! - (IBAction)modifyInstance:(id) sender; --- 30,37 ---- /*" Actions for Interface Builder "*/ /*" For the clear text information. "*/ ! - (IBAction) doGo:(id) sender; ! - (IBAction) doCancel:(id) sender; ! - (IBAction) doCreate:(id) sender; ! - (IBAction) modifyInstance:(id) sender; *************** *** 41,48 **** /*" Overrides of NSWindowController method, to adapt to this Window Controller. "*/ ! - (id)init; ! - (void)dealloc; ! - (void)windowDidLoad; @end --- 43,52 ---- /*" Overrides of NSWindowController method, to adapt to this Window Controller. "*/ ! - (id) init; ! - (void) dealloc; ! - (void) windowDidLoad; + /*" Getting the button for creating a DB. "*/ + - (NSButton*) getCreateButton; @end Index: MCPConnectionWinCont.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPApplicationKit/MCPConnectionWinCont.m,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MCPConnectionWinCont.m 11 Oct 2003 22:32:40 -0000 1.1 --- MCPConnectionWinCont.m 14 May 2004 11:16:04 -0000 1.2 *************** *** 24,28 **** It is responsible to set the appropriate value of the MCPDocument instance variables. "*/ ! - (IBAction)doGo:(id) sender /*" What to do when the user clicks on the Go button of the window. "*/ { --- 24,28 ---- It is responsible to set the appropriate value of the MCPDocument instance variables. "*/ ! - (IBAction) doGo:(id) sender /*" What to do when the user clicks on the Go button of the window. "*/ { *************** *** 41,45 **** ! - (IBAction)doCancel:(id) sender /*" What to do when the user clicks on the Cancel button of the window. "*/ { --- 41,45 ---- ! - (IBAction) doCancel:(id) sender /*" What to do when the user clicks on the Cancel button of the window. "*/ { *************** *** 48,53 **** } ! - (IBAction)modifyInstance:(id) sender /*" Action to take when the user modify one of the entry of the New Connection dialog. "*/ { --- 48,61 ---- } + - (IBAction) doCreate:(id) sender + { + NSLog(@"Asked for creation of the databes..."); + [(MCPDocument*)[self document] setMCPWillCreateNewDB:YES]; + [self doGo:sender]; + return; + } + ! - (IBAction) modifyInstance:(id) sender /*" Action to take when the user modify one of the entry of the New Connection dialog. "*/ { *************** *** 84,88 **** - (IBAction) askPassword:(id) sender { ! [[NSApplication sharedApplication] beginSheet:mPasswordSheet modalForWindow:[self window] modalDelegate:[self document] didEndSelector:@selector(MCPpasswordSheetDidEnd:returnCode:contextInfo:) contextInfo:self]; return; } --- 92,96 ---- - (IBAction) askPassword:(id) sender { ! [[NSApplication sharedApplication] beginSheet:mPasswordSheet modalForWindow:[self window] modalDelegate:[self document] didEndSelector:@selector(MCPPasswordSheetDidEnd:returnCode:contextInfo:) contextInfo:self]; return; } *************** *** 98,102 **** /*" Overrides of NSWindowController method, to adapt to this Window Controller. "*/ ! - (id)init /*" When inited, open the proper window... "*/ { --- 106,110 ---- /*" Overrides of NSWindowController method, to adapt to this Window Controller. "*/ ! - (id) init /*" When inited, open the proper window... "*/ { *************** *** 105,109 **** } ! - (void)dealloc /*" Gives notification that the WindowController is being deallocated (is it really useful? not yet!). "*/ { --- 113,117 ---- } ! - (void) dealloc /*" Gives notification that the WindowController is being deallocated (is it really useful? not yet!). "*/ { *************** *** 113,117 **** ! - (void)windowDidLoad /*" What to do once the window has been loaded : update the fields... "*/ { --- 121,125 ---- ! - (void) windowDidLoad /*" What to do once the window has been loaded : update the fields... "*/ { *************** *** 130,140 **** } [mPortField setIntValue:[theDoc MCPPort]]; return; } ! ! ! ! @end --- 138,157 ---- } [mPortField setIntValue:[theDoc MCPPort]]; + if ([theDoc MCPModelName] && (! [[theDoc MCPModelName] isEqualToString:@""])) { + [mCreateButton setHidden:NO]; + [mCreateButton setEnabled:YES]; + } + else { + [mCreateButton setEnabled:NO]; + [mCreateButton setHidden:YES]; + } return; } ! #pragma mark Getting the button for creating a DB. ! - (NSButton*) getCreateButton ! { ! return mCreateButton; ! } @end Index: MCPDocument.h =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPApplicationKit/MCPDocument.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MCPDocument.h 11 Oct 2003 22:32:40 -0000 1.1 --- MCPDocument.h 14 May 2004 11:16:04 -0000 1.2 *************** *** 25,28 **** --- 25,31 ---- NSWindowController *MCPMainWinCont; Class MCPConnectedWinCont; /*" Window controller used once the connection is established (As a class). "*/ + // Handling the DB creation state. + NSString *MCPModelName; + BOOL MCPWillCreateNewDB; } *************** *** 65,68 **** --- 68,81 ---- - (NSWindowController *) MCPMainWinCont; + /*" Accessors to the DB creation instances. "*/ + - (void) setMCPModelName:(NSString *) theModelName; + - (void) setMCPWillCreateNewDB:(BOOL) theWillCreateNewDB; + + - (NSString *) MCPModelName; + - (BOOL) MCPWillCreateNewDB; + + /*" Practical creation of the database, from a model file. "*/ + - (BOOL) createModelDB; + /*" Overrides of NSDocument methods. "*/ // Managing the document in file format *************** *** 76,80 **** /*" Method to take care of the password sheet. "*/ // Callback from sheet ! - (void) MCPpasswordSheetDidEnd:(NSWindow *) sheet returnCode:(int) returnCode contextInfo:(void *) contextInfo; --- 89,93 ---- /*" Method to take care of the password sheet. "*/ // Callback from sheet ! - (void) MCPPasswordSheetDidEnd:(NSWindow *) sheet returnCode:(int) returnCode contextInfo:(void *) contextInfo; Index: MCPDocument.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPApplicationKit/MCPDocument.m,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MCPDocument.m 11 Oct 2003 22:32:40 -0000 1.1 --- MCPDocument.m 14 May 2004 11:16:04 -0000 1.2 *************** *** 42,45 **** --- 42,47 ---- MCPMainWinCont = nil; MCPConnectedWinCont = nil; + MCPWillCreateNewDB = NO; + MCPModelName = @""; } return self; *************** *** 106,110 **** [MCPHost autorelease]; } ! // NSLog (@"In setHost: modification was %@ becomes %@\n", mHost, theHost); MCPHost = [[NSString stringWithString:theHost] retain]; [self updateChangeCount:NSChangeDone]; --- 108,112 ---- [MCPHost autorelease]; } ! // NSLog (@"In setHost: modification was %@ becomes %@\n", MCPHost, theHost); MCPHost = [[NSString stringWithString:theHost] retain]; [self updateChangeCount:NSChangeDone]; *************** *** 126,130 **** [MCPLogin autorelease]; } ! // NSLog (@"In setLogin: modification was %@ becomes %@\n", mLogin, theLogin); MCPLogin = [[NSString stringWithString:theLogin] retain]; [self updateChangeCount:NSChangeDone]; --- 128,132 ---- [MCPLogin autorelease]; } ! // NSLog (@"In setLogin: modification was %@ becomes %@\n", MCPLogin, theLogin); MCPLogin = [[NSString stringWithString:theLogin] retain]; [self updateChangeCount:NSChangeDone]; *************** *** 147,151 **** [MCPDatabase autorelease]; } ! // NSLog (@"In setDatabase: modification was %@ becomes %@\n", mDatabase, theDatabase); MCPDatabase = [[NSString stringWithString:theDatabase] retain]; [self updateChangeCount:NSChangeDone]; --- 149,153 ---- [MCPDatabase autorelease]; } ! // NSLog (@"In setDatabase: modification was %@ becomes %@\n", MCPDatabase, theDatabase); MCPDatabase = [[NSString stringWithString:theDatabase] retain]; [self updateChangeCount:NSChangeDone]; *************** *** 179,183 **** Change the value of mConInfoNeeded AND toggle the states of the object, removing appropriate window and displaying other(s) ... "*/ { ! NSLog (@"In setMCPConInfoNeeded... value is %@ :\n", (theConInfoNeeded)? @"YES" : @"NO"); if (MCPConInfoNeeded == theConInfoNeeded) { NSLog(@"Useless call to setMCPConInfoNeeded\n"); --- 181,185 ---- Change the value of mConInfoNeeded AND toggle the states of the object, removing appropriate window and displaying other(s) ... "*/ { ! // NSLog (@"In setMCPConInfoNeeded... value is %@ :\n", (theConInfoNeeded)? @"YES" : @"NO"); if (MCPConInfoNeeded == theConInfoNeeded) { NSLog(@"Useless call to setMCPConInfoNeeded\n"); *************** *** 196,200 **** } else { ! // Otherwise, we were using a ConnectdWinCont, then turn back to a MCPConnectionWinCont window... theWinCont = [[MCPConnectionWinCont allocWithZone:[self zone]] init]; [theWinCont setShouldCloseDocument:YES]; --- 198,202 ---- } else { ! // Otherwise, we were using a ConnectedWinCont, then turn back to a MCPConnectionWinCont window... theWinCont = [[MCPConnectionWinCont allocWithZone:[self zone]] init]; [theWinCont setShouldCloseDocument:YES]; *************** *** 204,208 **** [theWinCont release]; theArray = [NSArray arrayWithArray:[self windowControllers]]; ! NSLog(@"In setConInfoNeeded, closing browser windows. Number of window attached to the doc : %i\n", [theArray count]); for (i=0; i<[theArray count]; i++) { theWinCont = [theArray objectAtIndex:i]; --- 206,210 ---- [theWinCont release]; theArray = [NSArray arrayWithArray:[self windowControllers]]; ! // NSLog(@"In setConInfoNeeded, closing browser windows. Number of window attached to the doc : %i\n", [theArray count]); for (i=0; i<[theArray count]; i++) { theWinCont = [theArray objectAtIndex:i]; *************** *** 310,313 **** --- 312,420 ---- } + #pragma mark Accessors to the DB creation instances. + - (void) setMCPModelName:(NSString *) theModelName + { + if (MCPModelName && [MCPModelName isEqualToString:theModelName]) { + return; + } + if (MCPConInfoNeeded) { + if (MCPModelName) { + [MCPModelName autorelease]; + } + // NSLog (@"In setMCPModelName: modification was %@ becomes %@\n", MCPModelName, theModelName); + MCPModelName = [[NSString stringWithString:theModelName] retain]; + if (MCPModelName && (![MCPModelName isEqualToString:@""])) { // Show the "Create DB" button. + // NSLog(@"Now should show the CreateDB button... MCPMainWinCont = %@\n", MCPMainWinCont); + [[(MCPConnectionWinCont*)MCPMainWinCont getCreateButton] setHidden:NO]; + [[(MCPConnectionWinCont*)MCPMainWinCont getCreateButton] setEnabled:YES]; + } + else { // Hide the "Create DB" button. + // NSLog(@"Now should hide the CreateDB button... MCPMainWinCont = %@\n", MCPMainWinCont); + [[(MCPConnectionWinCont*)MCPMainWinCont getCreateButton] setEnabled:NO]; + [[(MCPConnectionWinCont*)MCPMainWinCont getCreateButton] setHidden:YES]; + } + } + else { // It is too late to ask for a new database. + NSLog(@"In setMCPModelName: Tryed to set the model, but the connection is already established!!!\n"); + } + return; + } + + - (void) setMCPWillCreateNewDB:(BOOL) theWillCreateNewDB + { + if (MCPModelName && (![MCPModelName isEqualToString:@""])) { + MCPWillCreateNewDB = theWillCreateNewDB; + } + else { + if (theWillCreateNewDB) { + NSLog(@"Tried to set the WillCreateNewDB flag of the MCPDocument, while the Model is not given, will keep old value (NO)!"); + } + } + } + + - (NSString *) MCPModelName + { + return MCPModelName; + } + + - (BOOL) MCPWillCreateNewDB + { + return MCPWillCreateNewDB; + } + + #pragma mark Practical creation of the database, from a model file. + - (BOOL) createModelDB + { + NSString *thePathToModel; + NSString *theModelContent; + NSArray *theArrayOfDefintions; + size_t i; + + NSLog(@"in MCPDocument createModelDB\n"); + // First check that we can proceed... + if (! [MCPConnect isConnected]) { + NSLog(@"Unable to create a DB without being connected first!!!\n"); + return NO; + } + if ((nil == MCPModelName) || ([MCPModelName isEqualToString:@""])) { + NSLog(@"Unable to create a DB without having a proper model!!!\n"); + return NO; + } + // Fetch the path of the model: + thePathToModel = [[NSBundle bundleForClass:[self class]] pathForResource:MCPModelName ofType:@"mysql"]; + if (nil == thePathToModel) { + NSLog(@"Unable to find the model file (%@) for DB creation... cannot create the database.", MCPModelName); + return NO; + } + // theModelContent = [[[NSFileManager defaultManager] contentsAtPath:thePathToModel] ; + theModelContent = [NSString stringWithContentsOfFile:thePathToModel]; + if (nil == theModelContent) { + NSLog(@"Unable to open the model file (%@) for DB creation... cannot create the database.", MCPModelName); + return NO; + } + // Check for existence of the database: + if ([MCPConnect selectDB:MCPDatabase]) { + NSLog(@"The database : %@ already exists... will not fo anything...\n"); + return NO; + } + [MCPConnect queryString:[NSString stringWithFormat:@"create database %@ ;", MCPDatabase]]; + if (! [MCPConnect selectDB:MCPDatabase]) { + NSLog(@"Unable to create database : %@. I guess you don't have enough MySQL permissions for that\n"); + NSLog(@"Error message from MySQL is : %@\n", [MCPConnect getLastErrorMessage]); + return NO; + } + // Now we are connected: + // Cut the model string into queries (using ; as separators). + theArrayOfDefintions = [theModelContent componentsSeparatedByString:@";"]; + for (i=0; i<[theArrayOfDefintions count]; ++i) { + NSString *theQuery = [[theArrayOfDefintions objectAtIndex:i] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; + if (! [theQuery isEqualToString:@""]) { + // NSLog(@"Creating a table using query : %@", theQuery); + [MCPConnect queryString:theQuery]; + } + } + return YES; + } + #pragma mark Overrides of NSDocument methods *************** *** 316,320 **** { NSMutableDictionary *theDict = [NSMutableDictionary dictionaryWithCapacity:4]; ! NSData *theData; NSLog (@"Try to save the connection document under type: %@\n",aType); --- 423,427 ---- { NSMutableDictionary *theDict = [NSMutableDictionary dictionaryWithCapacity:4]; ! NSData *theData; NSLog (@"Try to save the connection document under type: %@\n",aType); *************** *** 384,392 **** /*" What to do when a specific window is loaded: - Nothing for the Connection Info Window (MCPConnectionWindow.nib). ! - Whatever one wants for another window type. "*/ { [super windowControllerDidLoadNib:aController]; ! if ([[aController windowNibName] isEqualToString:@"MCPConnectionWindow"] ) { } return; --- 491,512 ---- /*" What to do when a specific window is loaded: - Nothing for the Connection Info Window (MCPConnectionWindow.nib). ! - Whatever one wants for another window type. ! ! Indeed it looks like this method is never called, unless one has a single window controller document... not the case here... ! "*/ { [super windowControllerDidLoadNib:aController]; ! NSLog(@"In MCPDocument windowControllerDidLoadNib, the controller is : %@, from nib file : %@", aController, [aController windowNibName]); if ([[aController windowNibName] isEqualToString:@"MCPConnectionWindow"] ) { + if (MCPModelName && (![MCPModelName isEqualToString:@""])) { // Show the "Create DB" button. + NSLog(@"Now should show the CreateDB button... (in DidLoadNib) MCPMainWinCont = %@\n", MCPMainWinCont); + // [[(MCPConnectionWinCont*)MCPMainWinCont getCreateButton] setHidden:NO]; + [[(MCPConnectionWinCont*)MCPMainWinCont getCreateButton] setEnabled:YES]; + } + else { // Hide the "Create DB" button. + NSLog(@"Now should hide the CreateDB button... (in DidLoadNib) MCPMainWinCont = %@\n", MCPMainWinCont); + [[(MCPConnectionWinCont*)MCPMainWinCont getCreateButton] setEnabled:NO]; + // [[(MCPConnectionWinCont*)MCPMainWinCont getCreateButton] setHidden:YES]; + } } return; *************** *** 395,403 **** #pragma mark The Password sheet // Callback from sheet ! - (void) MCPpasswordSheetDidEnd:(NSWindow *) sheet returnCode:(int) returnCode contextInfo:(void *) contextInfo /*" Method called once the user enterred the password and click Ok (or press return) Try to make a connection (depending of the button clicked), if password is refused, go back to ask connection information. "*/ { ! NSLog (@"In passwordSheetDidEnd, return code is : %d\n", returnCode); if (returnCode == NSOKButton) { NSString *thePass = [[sheet delegate] Password]; --- 515,523 ---- #pragma mark The Password sheet // Callback from sheet ! - (void) MCPPasswordSheetDidEnd:(NSWindow *) sheet returnCode:(int) returnCode contextInfo:(void *) contextInfo /*" Method called once the user enterred the password and click Ok (or press return) Try to make a connection (depending of the button clicked), if password is refused, go back to ask connection information. "*/ { ! // NSLog (@"In PasswordSheetDidEnd, return code is : %d\n", returnCode); if (returnCode == NSOKButton) { NSString *thePass = [[sheet delegate] Password]; *************** *** 406,409 **** --- 526,535 ---- [sheet close]; if ([MCPConnect isConnected]) { + if (MCPWillCreateNewDB) { // We have to create the database, now that we are connected. + if (! [self createModelDB]) { + NSLog(@"Got an error while trying to create a database from the model..."); + } + } + [self setMCPWillCreateNewDB:NO]; if (![MCPConnect selectDB:MCPDatabase]) { [MCPConnect release]; *************** *** 418,422 **** MCPPassNeeded = NO; ! NSLog (@"Connected to the database... YES!\n"); // [[sheet delegate] refreshResult]; // Change the main window to the ConnectedWinCont: --- 544,548 ---- MCPPassNeeded = NO; ! // NSLog (@"Connected to the database... YES!\n"); // [[sheet delegate] refreshResult]; // Change the main window to the ConnectedWinCont: *************** *** 428,432 **** [theWinCont release]; theArray = [NSArray arrayWithArray:[self windowControllers]]; ! NSLog(@"In MCPpasswordSheetDidEnd..., closing new connection window. Number of window attached to the doc : %i\n", [theArray count]); for (i=0; i<[theArray count]; i++) { theWinCont = [theArray objectAtIndex:i]; --- 554,558 ---- [theWinCont release]; theArray = [NSArray arrayWithArray:[self windowControllers]]; ! // NSLog(@"In MCPPasswordSheetDidEnd..., closing new connection window. Number of window attached to the doc : %i\n", [theArray count]); for (i=0; i<[theArray count]; i++) { theWinCont = [theArray objectAtIndex:i]; *************** *** 450,455 **** [[sheet delegate] Password]; [self setMCPConInfoNeeded:YES]; ! NSLog (@"The cancel button has been clicked, return to ask info for the connection\n"); } return; } --- 576,582 ---- [[sheet delegate] Password]; [self setMCPConInfoNeeded:YES]; ! // NSLog (@"The cancel button has been clicked, return to ask info for the connection\n"); } + [self setMCPWillCreateNewDB:NO]; return; } |
From: Serge C. <ser...@us...> - 2004-05-14 11:16:15
|
Update of /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv730/SMySQL.pbproj Modified Files: project.pbxproj Log Message: Quite some work to fix and enhance the MCPApplicationKit. Now supports well the creation of a database, and fixed an issue with the nib file being unproperly placed. 2004-05-14; Serge Cohen. Index: project.pbxproj =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/project.pbxproj,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** project.pbxproj 1 Mar 2004 23:54:28 -0000 1.31 --- project.pbxproj 14 May 2004 11:16:04 -0000 1.32 *************** *** 146,150 **** 0867D69CFE84028FC02AAC07 = { buildPhases = ( - 0D2AA83B04EED03700349A90, 0867D69DFE84028FC02AAC07, 0867D69EFE84028FC02AAC07, --- 146,149 ---- *************** *** 152,155 **** --- 151,155 ---- 0867D6A0FE84028FC02AAC07, 0867D6A2FE84028FC02AAC07, + 0D2AA83B04EED03700349A90, ); buildSettings = { *************** *** 367,371 **** }; 0D2AA83D04EED07700349A90 = { ! buildActionMask = 2147483647; files = ( ); --- 367,371 ---- }; 0D2AA83D04EED07700349A90 = { ! buildActionMask = 12; files = ( ); *************** *** 447,450 **** --- 447,453 ---- isa = PBXBuildFile; settings = { + ATTRIBUTES = ( + Public, + ); }; }; *************** *** 459,462 **** --- 462,468 ---- isa = PBXBuildFile; settings = { + ATTRIBUTES = ( + Public, + ); }; }; *************** *** 471,474 **** --- 477,483 ---- isa = PBXBuildFile; settings = { + ATTRIBUTES = ( + Public, + ); }; }; *************** *** 483,486 **** --- 492,498 ---- isa = PBXBuildFile; settings = { + ATTRIBUTES = ( + Public, + ); }; }; *************** *** 495,498 **** --- 507,513 ---- isa = PBXBuildFile; settings = { + ATTRIBUTES = ( + Public, + ); }; }; *************** *** 507,510 **** --- 522,528 ---- isa = PBXBuildFile; settings = { + ATTRIBUTES = ( + Public, + ); }; }; *************** *** 625,629 **** 0DA7207E04EE8A99002E9126 = { buildPhases = ( - 0D2AA83C04EED06400349A90, 0DA7207904EE8A99002E9126, 0DA7207A04EE8A99002E9126, --- 643,646 ---- *************** *** 631,634 **** --- 648,652 ---- 0DA7207C04EE8A99002E9126, 0DA7207D04EE8A99002E9126, + 0D2AA83C04EED06400349A90, ); buildSettings = { *************** *** 770,774 **** 0DA7208504EE8C3F002E9126 = { buildPhases = ( - 0D2AA83D04EED07700349A90, 0DA7208004EE8C3F002E9126, 0DA7208104EE8C3F002E9126, --- 788,791 ---- *************** *** 776,783 **** 0DA7208304EE8C3F002E9126, 0DA7208404EE8C3F002E9126, ); buildSettings = { ! CC = "/usr/bin/gcc-3.3"; ! CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; DYLIB_CURRENT_VERSION = 2.2.3; --- 793,801 ---- 0DA7208304EE8C3F002E9126, 0DA7208404EE8C3F002E9126, + 0D2AA83D04EED07700349A90, ); buildSettings = { ! CC = /usr/bin/gcc; ! CPLUSPLUS = "/usr/bin/g++"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; DYLIB_CURRENT_VERSION = 2.2.3; *************** *** 813,816 **** --- 831,849 ---- <key>CFBundleDevelopmentRegion</key> <string>English</string> + <key>CFBundleDocumentTypes</key> + <array> + <dict> + <key>CFBundleTypeExtensions</key> + <array> + <string>connect</string> + </array> + <key>CFBundleTypeName</key> + <string>MCP Connection Informations</string> + <key>CFBundleTypeRole</key> + <string>Editor</string> + <key>NSDocumentClass</key> + <string>MCPDocument</string> + </dict> + </array> <key>CFBundleExecutable</key> <string>SMySQL_bundle</string> *************** *** 830,834 **** <string>2.2.3</string> <key>CFBundleSignature</key> ! <string>????</string> <key>CFBundleVersion</key> <string>2.2.3d1</string> --- 863,867 ---- <string>2.2.3</string> <key>CFBundleSignature</key> ! <string>mcpS</string> <key>CFBundleVersion</key> <string>2.2.3d1</string> |
From: Serge C. <ser...@us...> - 2004-05-14 11:16:15
|
Update of /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv730/MCPFoundationKit Modified Files: MCPConnection.m Log Message: Quite some work to fix and enhance the MCPApplicationKit. Now supports well the creation of a database, and fixed an issue with the nib file being unproperly placed. 2004-05-14; Serge Cohen. Index: MCPConnection.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/MCPConnection.m,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** MCPConnection.m 1 Mar 2004 23:54:52 -0000 1.3 --- MCPConnection.m 14 May 2004 11:16:04 -0000 1.4 *************** *** 52,56 **** MCPResult *theRes; ! theConnec = [theConnec initToHost::albert.com withLogin:@"toto" password:@"albert" port:0]; [theConnec selectDB:@"db1"]; theRes = [theConnec queryString:@"select * from table1"]; --- 52,56 ---- MCPResult *theRes; ! theConnec = [theConnec initToHost:@"albert.com" withLogin:@"toto" password:@"albert" usingPort:0]; [theConnec selectDB:@"db1"]; theRes = [theConnec queryString:@"select * from table1"]; *************** *** 402,406 **** const char *theCStringBuffer = [self cStringFromString:theString]; unsigned int theLength; ! char *theCEscBuffer; NSString *theReturn; --- 402,406 ---- const char *theCStringBuffer = [self cStringFromString:theString]; unsigned int theLength; ! char *theCEscBuffer; NSString *theReturn; *************** *** 427,433 **** "*/ { ! MCPResult *theResult = [MCPResult alloc]; ! const char *theCQuery = [self cStringFromString:query]; ! int theQueryCode; // Temp for debugging: /* --- 427,433 ---- "*/ { ! MCPResult *theResult = [MCPResult alloc]; ! const char *theCQuery = [self cStringFromString:query]; ! int theQueryCode; // Temp for debugging: /* *************** *** 462,467 **** } else { ! NSLog (@"Problem in queryString error code is : %d, query is : %s -in ObjC : %@-\n", theQueryCode, theCQuery, query); ! theResult = [theResult init]; } if (theResult) { --- 462,469 ---- } else { ! NSLog (@"Problem in queryString error code is : %d, query is : %s -in ObjC : %@-\n", theQueryCode, theCQuery, query); ! NSLog(@"Error message is : %@\n", [self getLastErrorMessage]); ! // theResult = [theResult init]; // Old version... ! theResult = nil; } if (theResult) { |
Update of /cvsroot/mysql-cocoa/SMySQL/English.lproj/MCPConnectionWindow.nib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv730/English.lproj/MCPConnectionWindow.nib Modified Files: classes.nib info.nib Added Files: JavaCompiling.plist _MCPConnectionWindow_EOArchive_English.java keyedobjects.nib Removed Files: objects.nib Log Message: Quite some work to fix and enhance the MCPApplicationKit. Now supports well the creation of a database, and fixed an issue with the nib file being unproperly placed. 2004-05-14; Serge Cohen. --- NEW FILE: JavaCompiling.plist --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>JavaSourceSubpath</key> <string>_MCPConnectionWindow_EOArchive_English.java</string> </dict> </plist> --- NEW FILE: _MCPConnectionWindow_EOArchive_English.java --- // _MCPConnectionWindow_EOArchive_English.java // Generated by EnterpriseObjects palette at vendredi 14 mai 2004 11 h 08 Europe/Amsterdam import com.webobjects.eoapplication.*; import com.webobjects.eocontrol.*; import com.webobjects.eointerface.*; import com.webobjects.eointerface.swing.*; import com.webobjects.foundation.*; import java.awt.*; import javax.swing.*; import javax.swing.border.*; import javax.swing.table.*; import javax.swing.text.*; public class _MCPConnectionWindow_EOArchive_English extends com.webobjects.eoapplication.EOArchive { IBHelpConnector _iBHelpConnector0, _iBHelpConnector1, _iBHelpConnector2, _iBHelpConnector3; com.webobjects.eointerface.swing.EOFrame _eoFrame0, _eoFrame1; com.webobjects.eointerface.swing.EOTextField _nsTextField0, _nsTextField1, _nsTextField2, _nsTextField3, _nsTextField4, _nsTextField5, _nsTextField6, _nsTextField7, _nsTextField8, _nsTextField9; com.webobjects.eointerface.swing.EOView _nsBox0, _nsBox1, _nsBox2, _nsBox3; javax.swing.JButton _nsButton0, _nsButton1, _nsButton2, _nsButton3, _nsButton4; javax.swing.JPanel _nsView0, _nsView1; javax.swing.JPasswordField _nsSecureTextField0; public _MCPConnectionWindow_EOArchive_English(Object owner, NSDisposableRegistry registry) { super(owner, registry); } protected void _construct() { Object owner = _owner(); EOArchive._ObjectInstantiationDelegate delegate = (owner instanceof EOArchive._ObjectInstantiationDelegate) ? (EOArchive._ObjectInstantiationDelegate)owner : null; Object replacement; super._construct(); _nsBox3 = (com.webobjects.eointerface.swing.EOView)_registered(new com.webobjects.eointerface.swing.EOView(), "NSView"); _nsBox2 = (com.webobjects.eointerface.swing.EOView)_registered(new com.webobjects.eointerface.swing.EOView(), "NSBox1"); if ((delegate != null) && ((replacement = delegate.objectForOutletPath(this, "mCreateButton")) != null)) { _nsButton4 = (replacement == EOArchive._ObjectInstantiationDelegate.NullObject) ? null : (javax.swing.JButton)replacement; _replacedObjects.setObjectForKey(replacement, "_nsButton4"); } else { _nsButton4 = (javax.swing.JButton)_registered(new javax.swing.JButton("Create DB"), "NSButton2"); } _nsButton3 = (javax.swing.JButton)_registered(new javax.swing.JButton("Cancel"), "NSButton1"); _nsButton2 = (javax.swing.JButton)_registered(new javax.swing.JButton("Go"), "NSButton"); _nsBox1 = (com.webobjects.eointerface.swing.EOView)_registered(new com.webobjects.eointerface.swing.EOView(), "NSView"); _nsBox0 = (com.webobjects.eointerface.swing.EOView)_registered(new com.webobjects.eointerface.swing.EOView(), "NSBox1"); _nsTextField9 = (com.webobjects.eointerface.swing.EOTextField)_registered(new com.webobjects.eointerface.swing.EOTextField(), "NSTextField23"); _nsTextField8 = (com.webobjects.eointerface.swing.EOTextField)_registered(new com.webobjects.eointerface.swing.EOTextField(), "NSTextField22"); _nsTextField7 = (com.webobjects.eointerface.swing.EOTextField)_registered(new com.webobjects.eointerface.swing.EOTextField(), "NSTextField21"); _nsTextField6 = (com.webobjects.eointerface.swing.EOTextField)_registered(new com.webobjects.eointerface.swing.EOTextField(), "NSTextField2"); if ((delegate != null) && ((replacement = delegate.objectForOutletPath(this, "window")) != null)) { _eoFrame1 = (replacement == EOArchive._ObjectInstantiationDelegate.NullObject) ? null : (com.webobjects.eointerface.swing.EOFrame)replacement; _replacedObjects.setObjectForKey(replacement, "_eoFrame1"); } else { _eoFrame1 = (com.webobjects.eointerface.swing.EOFrame)_registered(new com.webobjects.eointerface.swing.EOFrame(), "Window"); } _nsView1 = (JPanel)_eoFrame1.getContentPane(); _iBHelpConnector3 = (IBHelpConnector)_registered(new IBHelpConnector(), ""); _iBHelpConnector2 = (IBHelpConnector)_registered(new IBHelpConnector(), ""); _iBHelpConnector1 = (IBHelpConnector)_registered(new IBHelpConnector(), ""); _iBHelpConnector0 = (IBHelpConnector)_registered(new IBHelpConnector(), ""); if ((delegate != null) && ((replacement = delegate.objectForOutletPath(this, "mHostField.nextFocusableComponent.nextFocusableComponent.nextFocusableComponent")) != null)) { _nsTextField5 = (replacement == EOArchive._ObjectInstantiationDelegate.NullObject) ? null : (com.webobjects.eointerface.swing.EOTextField)replacement; _replacedObjects.setObjectForKey(replacement, "_nsTextField5"); } else { _nsTextField5 = (com.webobjects.eointerface.swing.EOTextField)_registered(new com.webobjects.eointerface.swing.EOTextField(), "NSTextField12"); } if ((delegate != null) && ((replacement = delegate.objectForOutletPath(this, "mHostField.nextFocusableComponent.nextFocusableComponent")) != null)) { _nsTextField4 = (replacement == EOArchive._ObjectInstantiationDelegate.NullObject) ? null : (com.webobjects.eointerface.swing.EOTextField)replacement; _replacedObjects.setObjectForKey(replacement, "_nsTextField4"); } else { _nsTextField4 = (com.webobjects.eointerface.swing.EOTextField)_registered(new com.webobjects.eointerface.swing.EOTextField(), "NSTextField11"); } if ((delegate != null) && ((replacement = delegate.objectForOutletPath(this, "mHostField.nextFocusableComponent")) != null)) { _nsTextField3 = (replacement == EOArchive._ObjectInstantiationDelegate.NullObject) ? null : (com.webobjects.eointerface.swing.EOTextField)replacement; _replacedObjects.setObjectForKey(replacement, "_nsTextField3"); } else { _nsTextField3 = (com.webobjects.eointerface.swing.EOTextField)_registered(new com.webobjects.eointerface.swing.EOTextField(), "NSTextField1"); } if ((delegate != null) && ((replacement = delegate.objectForOutletPath(this, "mHostField.nextFocusableComponent.nextFocusableComponent.nextFocusableComponent.nextFocusableComponent")) != null)) { _nsTextField2 = (replacement == EOArchive._ObjectInstantiationDelegate.NullObject) ? null : (com.webobjects.eointerface.swing.EOTextField)replacement; _replacedObjects.setObjectForKey(replacement, "_nsTextField2"); } else { _nsTextField2 = (com.webobjects.eointerface.swing.EOTextField)_registered(new com.webobjects.eointerface.swing.EOTextField(), "NSTextField"); } _nsButton1 = (javax.swing.JButton)_registered(new javax.swing.JButton("Cancel"), "NSButton1"); if ((delegate != null) && ((replacement = delegate.objectForOutletPath(this, "mPasswordField.nextFocusableComponent")) != null)) { _nsButton0 = (replacement == EOArchive._ObjectInstantiationDelegate.NullObject) ? null : (javax.swing.JButton)replacement; _replacedObjects.setObjectForKey(replacement, "_nsButton0"); } else { _nsButton0 = (javax.swing.JButton)_registered(new javax.swing.JButton("OK"), "NSButton"); } if ((delegate != null) && ((replacement = delegate.objectForOutletPath(this, "mPasswordField")) != null)) { _nsSecureTextField0 = (replacement == EOArchive._ObjectInstantiationDelegate.NullObject) ? null : (javax.swing.JPasswordField)replacement; _replacedObjects.setObjectForKey(replacement, "_nsSecureTextField0"); } else { _nsSecureTextField0 = (javax.swing.JPasswordField)_registered(new javax.swing.JPasswordField(), "NSTextField"); } _nsTextField1 = (com.webobjects.eointerface.swing.EOTextField)_registered(new com.webobjects.eointerface.swing.EOTextField(), "NSTextField21"); _nsTextField0 = (com.webobjects.eointerface.swing.EOTextField)_registered(new com.webobjects.eointerface.swing.EOTextField(), "NSTextField2"); if ((delegate != null) && ((replacement = delegate.objectForOutletPath(this, "mPasswordSheet")) != null)) { _eoFrame0 = (replacement == EOArchive._ObjectInstantiationDelegate.NullObject) ? null : (com.webobjects.eointerface.swing.EOFrame)replacement; _replacedObjects.setObjectForKey(replacement, "_eoFrame0"); } else { _eoFrame0 = (com.webobjects.eointerface.swing.EOFrame)_registered(new com.webobjects.eointerface.swing.EOFrame(), "Panel"); } _nsView0 = (JPanel)_eoFrame0.getContentPane(); } protected void _awaken() { super._awaken(); if (_replacedObjects.objectForKey("_eoFrame0") == null) { _connect(_eoFrame0, _owner(), "delegate"); } _nsButton0.addActionListener((com.webobjects.eointerface.swing.EOControlActionAdapter)_registered(new com.webobjects.eointerface.swing.EOControlActionAdapter(_owner(), "passwordClick", _nsButton0), "")); if (_replacedObjects.objectForKey("_eoFrame0") == null) { _connect(_owner(), _eoFrame0, "mPasswordSheet"); } if (_replacedObjects.objectForKey("_nsSecureTextField0") == null) { _connect(_owner(), _nsSecureTextField0, "mPasswordField"); } if (_replacedObjects.objectForKey("_nsButton4") == null) { _connect(_owner(), _nsButton4, "mCreateButton"); } _nsButton4.addActionListener((com.webobjects.eointerface.swing.EOControlActionAdapter)_registered(new com.webobjects.eointerface.swing.EOControlActionAdapter(_owner(), "doCreate", _nsButton4), "")); _nsButton3.addActionListener((com.webobjects.eointerface.swing.EOControlActionAdapter)_registered(new com.webobjects.eointerface.swing.EOControlActionAdapter(_owner(), "doCancel", _nsButton3), "")); _nsButton2.addActionListener((com.webobjects.eointerface.swing.EOControlActionAdapter)_registered(new com.webobjects.eointerface.swing.EOControlActionAdapter(_owner(), "doGo", _nsButton2), "")); if (_replacedObjects.objectForKey("_eoFrame1") == null) { _connect(_owner(), _eoFrame1, "window"); } _nsTextField2.addActionListener((com.webobjects.eointerface.swing.EOControlActionAdapter)_registered(new com.webobjects.eointerface.swing.EOControlActionAdapter(_owner(), "modifyInstance", _nsTextField2), "")); if (_replacedObjects.objectForKey("_nsTextField3") == null) { _connect(_owner(), _nsTextField3, "mLoginField"); } _nsTextField3.addActionListener((com.webobjects.eointerface.swing.EOControlActionAdapter)_registered(new com.webobjects.eointerface.swing.EOControlActionAdapter(_owner(), "modifyInstance", _nsTextField3), "")); if (_replacedObjects.objectForKey("_nsTextField4") == null) { _connect(_owner(), _nsTextField4, "mDatabaseField"); } _nsTextField4.addActionListener((com.webobjects.eointerface.swing.EOControlActionAdapter)_registered(new com.webobjects.eointerface.swing.EOControlActionAdapter(_owner(), "modifyInstance", _nsTextField4), "")); if (_replacedObjects.objectForKey("_nsTextField5") == null) { _connect(_owner(), _nsTextField5, "mPortField"); } _nsTextField5.addActionListener((com.webobjects.eointerface.swing.EOControlActionAdapter)_registered(new com.webobjects.eointerface.swing.EOControlActionAdapter(_owner(), "modifyInstance", _nsTextField5), "")); if (_replacedObjects.objectForKey("_nsTextField2") == null) { _connect(_owner(), _nsTextField2, "mHostField"); } _nsButton1.addActionListener((com.webobjects.eointerface.swing.EOControlActionAdapter)_registered(new com.webobjects.eointerface.swing.EOControlActionAdapter(_owner(), "passwordClick", _nsButton1), "")); } protected void _init() { super._init(); if (!(_nsBox2.getLayout() instanceof EOViewLayout)) { _nsBox2.setLayout(new EOViewLayout()); } _nsBox3.setSize(401, 1); _nsBox3.setLocation(2, 2); ((EOViewLayout)_nsBox2.getLayout()).setAutosizingMask(_nsBox3, EOViewLayout.MinYMargin); _nsBox2.add(_nsBox3); _nsBox2.setBorder(new com.webobjects.eointerface.swing._EODefaultBorder("", true, "Lucida Grande", 13, Font.PLAIN)); if (_replacedObjects.objectForKey("_nsButton4") == null) { _setFontForComponent(_nsButton4, "Lucida Grande", 13, Font.PLAIN); _nsButton4.setMargin(new Insets(0, 2, 0, 2)); } _setFontForComponent(_nsButton3, "Lucida Grande", 13, Font.PLAIN); _nsButton3.setMargin(new Insets(0, 2, 0, 2)); _setFontForComponent(_nsButton2, "Lucida Grande", 13, Font.PLAIN); _nsButton2.setMargin(new Insets(0, 2, 0, 2)); if (!(_nsBox0.getLayout() instanceof EOViewLayout)) { _nsBox0.setLayout(new EOViewLayout()); } _nsBox1.setSize(328, 1); _nsBox1.setLocation(2, 2); ((EOViewLayout)_nsBox0.getLayout()).setAutosizingMask(_nsBox1, EOViewLayout.MinYMargin); _nsBox0.add(_nsBox1); _nsBox0.setBorder(new com.webobjects.eointerface.swing._EODefaultBorder("", true, "Lucida Grande", 13, Font.PLAIN)); _setFontForComponent(_nsTextField9, "Lucida Grande", 13, Font.PLAIN); _nsTextField9.setEditable(false); _nsTextField9.setOpaque(false); _nsTextField9.setText("Port :"); _nsTextField9.setHorizontalAlignment(javax.swing.JTextField.RIGHT); _nsTextField9.setSelectable(true); _nsTextField9.setEnabled(true); _nsTextField9.setBorder(null); _setFontForComponent(_nsTextField8, "Lucida Grande", 13, Font.PLAIN); _nsTextField8.setEditable(false); _nsTextField8.setOpaque(false); _nsTextField8.setText("Database :"); _nsTextField8.setHorizontalAlignment(javax.swing.JTextField.RIGHT); _nsTextField8.setSelectable(true); _nsTextField8.setEnabled(true); _nsTextField8.setBorder(null); _setFontForComponent(_nsTextField7, "Lucida Grande", 13, Font.PLAIN); _nsTextField7.setEditable(false); _nsTextField7.setOpaque(false); _nsTextField7.setText("Login :"); _nsTextField7.setHorizontalAlignment(javax.swing.JTextField.RIGHT); _nsTextField7.setSelectable(true); _nsTextField7.setEnabled(true); _nsTextField7.setBorder(null); _setFontForComponent(_nsTextField6, "Lucida Grande", 13, Font.PLAIN); _nsTextField6.setEditable(false); _nsTextField6.setOpaque(false); _nsTextField6.setText("Host :"); _nsTextField6.setHorizontalAlignment(javax.swing.JTextField.RIGHT); _nsTextField6.setSelectable(true); _nsTextField6.setEnabled(true); _nsTextField6.setBorder(null); if (!(_nsView1.getLayout() instanceof EOViewLayout)) { _nsView1.setLayout(new EOViewLayout()); } _nsTextField6.setSize(72, 17); _nsTextField6.setLocation(11, 17); ((EOViewLayout)_nsView1.getLayout()).setAutosizingMask(_nsTextField6, EOViewLayout.MaxXMargin | EOViewLayout.MaxYMargin); _nsView1.add(_nsTextField6); _nsTextField7.setSize(72, 17); _nsTextField7.setLocation(11, 47); ((EOViewLayout)_nsView1.getLayout()).setAutosizingMask(_nsTextField7, EOViewLayout.MaxXMargin | EOViewLayout.MaxYMargin); _nsView1.add(_nsTextField7); _nsTextField8.setSize(72, 17); _nsTextField8.setLocation(11, 77); ((EOViewLayout)_nsView1.getLayout()).setAutosizingMask(_nsTextField8, EOViewLayout.MaxXMargin | EOViewLayout.MaxYMargin); _nsView1.add(_nsTextField8); _nsTextField9.setSize(72, 17); _nsTextField9.setLocation(11, 107); ((EOViewLayout)_nsView1.getLayout()).setAutosizingMask(_nsTextField9, EOViewLayout.MaxXMargin | EOViewLayout.MaxYMargin); _nsView1.add(_nsTextField9); _nsTextField2.setSize(242, 22); _nsTextField2.setLocation(88, 14); ((EOViewLayout)_nsView1.getLayout()).setAutosizingMask(_nsTextField2, EOViewLayout.MinXMargin | EOViewLayout.WidthSizable | EOViewLayout.MaxYMargin); _nsView1.add(_nsTextField2); _nsTextField3.setSize(242, 22); _nsTextField3.setLocation(88, 44); ((EOViewLayout)_nsView1.getLayout()).setAutosizingMask(_nsTextField3, EOViewLayout.MinXMargin | EOViewLayout.WidthSizable | EOViewLayout.MaxYMargin); _nsView1.add(_nsTextField3); _nsTextField4.setSize(242, 22); _nsTextField4.setLocation(88, 74); ((EOViewLayout)_nsView1.getLayout()).setAutosizingMask(_nsTextField4, EOViewLayout.MinXMargin | EOViewLayout.WidthSizable | EOViewLayout.MaxYMargin); _nsView1.add(_nsTextField4); _nsTextField5.setSize(242, 22); _nsTextField5.setLocation(88, 104); ((EOViewLayout)_nsView1.getLayout()).setAutosizingMask(_nsTextField5, EOViewLayout.MinXMargin | EOViewLayout.WidthSizable | EOViewLayout.MaxYMargin); _nsView1.add(_nsTextField5); _nsBox0.setSize(332, 5); _nsBox0.setLocation(5, 130); ((EOViewLayout)_nsView1.getLayout()).setAutosizingMask(_nsBox0, EOViewLayout.WidthSizable | EOViewLayout.MaxYMargin); _nsView1.add(_nsBox0); _nsButton2.setSize(77, 26); _nsButton2.setLocation(256, 144); ((EOViewLayout)_nsView1.getLayout()).setAutosizingMask(_nsButton2, EOViewLayout.MinXMargin | EOViewLayout.MinYMargin); _nsView1.add(_nsButton2); _nsButton3.setSize(77, 26); _nsButton3.setLocation(172, 144); ((EOViewLayout)_nsView1.getLayout()).setAutosizingMask(_nsButton3, EOViewLayout.MinXMargin | EOViewLayout.MinYMargin); _nsView1.add(_nsButton3); _nsButton4.setSize(96, 26); _nsButton4.setLocation(12, 144); ((EOViewLayout)_nsView1.getLayout()).setAutosizingMask(_nsButton4, EOViewLayout.MinYMargin); _nsView1.add(_nsButton4); if (_replacedObjects.objectForKey("_eoFrame1") == null) { _nsView1.setSize(342, 180); _eoFrame1.setTitle("New Connection Parameters"); _eoFrame1.setLocation(111, 492); _eoFrame1.setSize(342, 180); } if (_replacedObjects.objectForKey("_nsTextField5") == null) { _connect(_nsTextField5, _nsTextField2, "nextFocusableComponent"); } if (_replacedObjects.objectForKey("_nsTextField5") == null) { _setFontForComponent(_nsTextField5, "Lucida Grande", 13, Font.PLAIN); _nsTextField5.setEditable(true); _nsTextField5.setOpaque(true); _nsTextField5.setText(""); _nsTextField5.setHorizontalAlignment(javax.swing.JTextField.LEFT); _nsTextField5.setSelectable(true); _nsTextField5.setEnabled(true); } if (_replacedObjects.objectForKey("_nsTextField4") == null) { _connect(_nsTextField4, _nsTextField5, "nextFocusableComponent"); } if (_replacedObjects.objectForKey("_nsTextField4") == null) { _setFontForComponent(_nsTextField4, "Lucida Grande", 13, Font.PLAIN); _nsTextField4.setEditable(true); _nsTextField4.setOpaque(true); _nsTextField4.setText(""); _nsTextField4.setHorizontalAlignment(javax.swing.JTextField.LEFT); _nsTextField4.setSelectable(true); _nsTextField4.setEnabled(true); } if (_replacedObjects.objectForKey("_nsTextField3") == null) { _connect(_nsTextField3, _nsTextField4, "nextFocusableComponent"); } if (_replacedObjects.objectForKey("_nsTextField3") == null) { _setFontForComponent(_nsTextField3, "Lucida Grande", 13, Font.PLAIN); _nsTextField3.setEditable(true); _nsTextField3.setOpaque(true); _nsTextField3.setText(""); _nsTextField3.setHorizontalAlignment(javax.swing.JTextField.LEFT); _nsTextField3.setSelectable(true); _nsTextField3.setEnabled(true); } if (_replacedObjects.objectForKey("_nsTextField2") == null) { _connect(_nsTextField2, _nsTextField3, "nextFocusableComponent"); } if (_replacedObjects.objectForKey("_nsTextField2") == null) { _setFontForComponent(_nsTextField2, "Lucida Grande", 13, Font.PLAIN); _nsTextField2.setEditable(true); _nsTextField2.setOpaque(true); _nsTextField2.setText(""); _nsTextField2.setHorizontalAlignment(javax.swing.JTextField.LEFT); _nsTextField2.setSelectable(true); _nsTextField2.setEnabled(true); } _connect(_nsButton1, _nsSecureTextField0, "nextFocusableComponent"); _setFontForComponent(_nsButton1, "Lucida Grande", 13, Font.PLAIN); _nsButton1.setMargin(new Insets(0, 2, 0, 2)); if (_replacedObjects.objectForKey("_nsButton0") == null) { _connect(_nsButton0, _nsButton1, "nextFocusableComponent"); } if (_replacedObjects.objectForKey("_nsButton0") == null) { _setFontForComponent(_nsButton0, "Lucida Grande", 13, Font.PLAIN); _nsButton0.setMargin(new Insets(0, 2, 0, 2)); } if (_replacedObjects.objectForKey("_nsSecureTextField0") == null) { _connect(_nsSecureTextField0, _nsButton0, "nextFocusableComponent"); } if (_replacedObjects.objectForKey("_nsSecureTextField0") == null) { _setFontForComponent(_nsSecureTextField0, "Lucida Grande", 13, Font.PLAIN); _nsSecureTextField0.setEditable(true); _nsSecureTextField0.setOpaque(true); _nsSecureTextField0.setText(""); _nsSecureTextField0.setHorizontalAlignment(javax.swing.JTextField.LEFT); _nsSecureTextField0.setEnabled(true); } _setFontForComponent(_nsTextField1, "Lucida Grande", 13, Font.PLAIN); _nsTextField1.setEditable(false); _nsTextField1.setOpaque(false); _nsTextField1.setText("Password :"); _nsTextField1.setHorizontalAlignment(javax.swing.JTextField.RIGHT); _nsTextField1.setSelectable(false); _nsTextField1.setEnabled(true); _nsTextField1.setBorder(null); _setFontForComponent(_nsTextField0, "Lucida Grande", 13, Font.PLAIN); _nsTextField0.setEditable(false); _nsTextField0.setOpaque(false); _nsTextField0.setText("Please enter your password for DB server "); _nsTextField0.setHorizontalAlignment(javax.swing.JTextField.CENTER); _nsTextField0.setSelectable(false); _nsTextField0.setEnabled(true); _nsTextField0.setBorder(null); if (!(_nsView0.getLayout() instanceof EOViewLayout)) { _nsView0.setLayout(new EOViewLayout()); } _nsTextField0.setSize(395, 17); _nsTextField0.setLocation(11, 14); ((EOViewLayout)_nsView0.getLayout()).setAutosizingMask(_nsTextField0, EOViewLayout.WidthSizable | EOViewLayout.MaxYMargin); _nsView0.add(_nsTextField0); _nsTextField1.setSize(73, 17); _nsTextField1.setLocation(11, 51); ((EOViewLayout)_nsView0.getLayout()).setAutosizingMask(_nsTextField1, EOViewLayout.MaxXMargin | EOViewLayout.MaxYMargin); _nsView0.add(_nsTextField1); _nsSecureTextField0.setSize(314, 22); _nsSecureTextField0.setLocation(89, 48); ((EOViewLayout)_nsView0.getLayout()).setAutosizingMask(_nsSecureTextField0, EOViewLayout.WidthSizable | EOViewLayout.MinYMargin); _nsView0.add(_nsSecureTextField0); _nsBox2.setSize(405, 5); _nsBox2.setLocation(5, 37); ((EOViewLayout)_nsView0.getLayout()).setAutosizingMask(_nsBox2, EOViewLayout.MinYMargin); _nsView0.add(_nsBox2); _nsButton0.setSize(77, 26); _nsButton0.setLocation(329, 88); ((EOViewLayout)_nsView0.getLayout()).setAutosizingMask(_nsButton0, EOViewLayout.MinYMargin); _nsView0.add(_nsButton0); _nsButton1.setSize(77, 26); _nsButton1.setLocation(245, 88); ((EOViewLayout)_nsView0.getLayout()).setAutosizingMask(_nsButton1, EOViewLayout.MinYMargin); _nsView0.add(_nsButton1); if (_replacedObjects.objectForKey("_eoFrame0") == null) { _nsView0.setSize(415, 124); _eoFrame0.setTitle("Password"); _eoFrame0.setLocation(95, 422); _eoFrame0.setSize(415, 124); } } } --- NEW FILE: keyedobjects.nib --- bplist00Ô Y$archiverX$versionT$topX$objects_NSKeyedArchiver "#&')+,013489;<@ACDRUWXZ^_`cdglm~¡¥¦§¨«¬ _c"#&'*¦+,«- Ø t:;9sÿÿÿÿ°x !"#$%&'(6&, 4$ '9/2"-70.5%<3#+;(1*):Ò "$&(9GOXZ\^`§±ºÀÇÉËÌÎÐÒÔåðòôö7CWalz§©«¯¸º¿ÀÑØßèíïñó % E N S g x z · È Ê Û Ý ßFZlv¬¹ÃÏÑÓÕ×ÙÛÝæèê!*/8QSUWY[]_a¢ÇÉËÐÒ×Þóõ÷ 2 4 G h j l n « µ Ö Ø Ú Ü ó%FHJLcÂÏáí÷%(*;=R[bkr §ÄÆËÏØáç $Yn¦´ÆØÚÜÞàéëíïô÷ !,9GP[d ÒÔÖÝßøúüIKPRWajtv¡¸ÐÚãèû$&(Ufhs£¥´ÅÇÒãåìýÿ/@BTegxz ª»½¿Áòüþ +4<EVXZcprtvxz¡¹Þàå.02Ijlw²×ÙÞçò "6cegiktwy¡¸Õ×ôöøIKMPikm º¼¾Õàý!#46GIXikz¯ÀÂËÜÞçøúDFOT]ÊÓ "$&(*,.02@N\ciw ¦°½ÇÐÙâU^ÑÓÕ×ÙÛÝßáãåçéëíïòõøûþ "%(+.147:=@CFILORUX[^adgjlnprtvxz|~ ¢¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÑÖ Index: classes.nib =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/English.lproj/MCPConnectionWindow.nib/classes.nib,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** classes.nib 11 Oct 2003 22:32:40 -0000 1.1 --- classes.nib 14 May 2004 11:16:03 -0000 1.2 *************** *** 6,9 **** --- 6,10 ---- askPassword = id; doCancel = id; + doCreate = id; doGo = id; modifyInstance = id; *************** *** 13,16 **** --- 14,18 ---- LANGUAGE = ObjC; OUTLETS = { + mCreateButton = NSButton; mDatabaseField = NSTextField; mHostField = NSTextField; Index: info.nib =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/English.lproj/MCPConnectionWindow.nib/info.nib,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** info.nib 11 Oct 2003 22:32:40 -0000 1.1 --- info.nib 14 May 2004 11:16:03 -0000 1.2 *************** *** 6,17 **** <string>193 200 356 240 0 0 1280 832 </string> <key>IBFramework Version</key> ! <string>291.0</string> <key>IBOpenObjects</key> <array> - <integer>46</integer> <integer>5</integer> </array> <key>IBSystem Version</key> ! <string>6L60</string> </dict> </plist> --- 6,16 ---- <string>193 200 356 240 0 0 1280 832 </string> <key>IBFramework Version</key> ! <string>364.0</string> <key>IBOpenObjects</key> <array> <integer>5</integer> </array> <key>IBSystem Version</key> ! <string>7F44</string> </dict> </plist> --- objects.nib DELETED --- |
From: Serge C. <ser...@us...> - 2004-03-04 22:42:44
|
Update of /cvsroot/mysql-cocoa/Documentation/website In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31471 Modified Files: index.html Log Message: Added new entries (and donation links) to the index page. Updated the html documentation of the framework. 2004-03-04; Serge Cohen. Index: index.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/index.html,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** index.html 4 Oct 2003 10:15:18 -0000 1.18 --- index.html 4 Mar 2004 22:21:14 -0000 1.19 *************** *** 29,33 **** <a name="archive"><p>Archives of the updates can be found <a href="archives.html">here</a></p></a> ! <p><em>30 August 2003:</em> Added some comments and a last section (reloading data from the mysqldump file) to the instructions on how to install MySQL frmo sources. The file released has been updated to this new documentation as well.</p> <p><em>27 August 2003:</em> Added a documentation on how to build MySQL from sources. You will find a link to these inscription in the <a href="#docs">Documentation</a> section. Following these instructions you should be able to build MySQL server and client sides, with prebound dynamic libraries (as well as static libraries), openssl support for both server and client... and finally getting the <code>libmysqld.a</code> library which is basically a embedded MySQL server running in its own thread, so your program can contains its own server (not yet supported by SMySQL framework... but might come some time soon).</p> --- 29,39 ---- <a name="archive"><p>Archives of the updates can be found <a href="archives.html">here</a></p></a> ! <p><em>04 March 2004:</em> With the comments of Dave Winter, I have corrected the examlpe in the HTML doc, should be Ok now (except maybe a \312 character used for tabbing...). Documentation should be updated to 2.2.3 by now.</p> ! ! <p><em>01 March 2004:</em> Released version 2.2.3, correcting the InfoPlist.strings bug (in source distribution), and putting all version parameters to 2.2.3 (some were at 2.2.2, other still at 2.2.1). Source and binaries should work kind of Ok now.</p> ! ! <p><em>29 February 2004:</em> Released version 2.2.2, correcting a few bugs, unfortunately this version was not properly done in terms of framework version, class version string... So I had to make a 2.2.3 release soon after. Since today, you can donate to the project, enabling me to get a MySQL licence (so that I can provide a non GPL licence for the framework, and get another hosting for this site). If you want to donate, see link <a href="#donate">here</a>.</p> ! ! <p><em>30 August 2003:</em> Added some comments and a last section (reloading data from the mysqldump file) to the instructions on how to install MySQL from sources. The file released has been updated to this new documentation as well.</p> <p><em>27 August 2003:</em> Added a documentation on how to build MySQL from sources. You will find a link to these inscription in the <a href="#docs">Documentation</a> section. Following these instructions you should be able to build MySQL server and client sides, with prebound dynamic libraries (as well as static libraries), openssl support for both server and client... and finally getting the <code>libmysqld.a</code> library which is basically a embedded MySQL server running in its own thread, so your program can contains its own server (not yet supported by SMySQL framework... but might come some time soon).</p> *************** *** 187,193 **** --- 193,204 ---- </table> </div> + <!-- <a href="/donate/index.php?group_id=42424"><IMG src="https://images.sourceforge.net/images/project-support.jpg" alt="Donate to this project" border="0" width="88" height="32"></a></td><td valign="top"><b><a href="/donate/index.php?group_id=42424">Donate to MySQL Objective C API for Cocoa</a></b> --> <div class="center"><A href="http://sourceforge.net"> <IMG src="http://sourceforge.net/sflogo.php?group_id=42424&type=1" width="88" height="31" border="0" alt="SourceForge Logo"></A></div> + <br> + <div class="center"> + <a name="donate"><a href="http://sourceforge.net/donate/index.php?group_id=42424"><IMG src="http://images.sourceforge.net/images/project-support.jpg" alt="Donate to this project" border="0" width="88" height="32"></a> <a href="http://sourceforge.net/donate/index.php?group_id=42424">Donate to MySQL Objective C API for Cocoa</a></a> + </div> <a name="aknowledgements"><h2>Aknowledgment</h2></a> |
From: Serge C. <ser...@us...> - 2004-03-04 22:40:43
|
Update of /cvsroot/mysql-cocoa/Documentation/website/SMySQL_doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31042/SMySQL_doc Modified Files: MCPConnection+MCPFastQueries.html MCPConnection.html MCPResult+MCPResultPlus.html MCPResult.html NSObject+MCPNSNullTest.html Added Files: MCPConnectionWinCont.html MCPDocument.html Log Message: Added new entries (and donation links) to the index page. Updated the html documentation of the framework. 2004-03-04; Serge Cohen. --- NEW FILE: MCPConnectionWinCont.html --- <HTML><HEAD><TITLE></TITLE></HEAD> <BODY BGCOLOR="#FFFFFF"> <BR><BR><FONT COLOR="#000066"><H1><A NAME="//apple_ref/occ/cl/MCPConnectionWinCont">MCPConnectionWinCont</A></H1></FONT><BR> <blockquote><DL><DT><B>Inherits From:</B></DT> <DD>NSWindowController</DD> </DL></blockquote> <blockquote><DL><DT><B>Declared In:</B></DT> <DD>MCPConnectionWinCont.h</DD> </DL></blockquote> <BR><BR> <H2>Class Description</H2> This class is the WindowController for the window asking parameters of connection to the user.<P> It is responsible to set the appropriate value of the MCPDocument instance variables. <P><HR WIDTH=50% ALIGN=LEFT> <H2>Instance Variables</H2> <blockquote> <CODE>IBOutlet NSTextField *<B>mHostField</B>;</CODE><BR> <CODE>IBOutlet NSTextField *<B>mLoginField</B>;</CODE><BR> <CODE>IBOutlet NSTextField *<B>mDatabaseField</B>;</CODE><BR> <CODE>IBOutlet NSTextField *<B>mPortField</B>;</CODE><BR> <CODE>IBOutlet NSPanel *<B>mPasswordSheet</B>;</CODE><BR> <CODE>IBOutlet NSTextField *<B>mPasswordField</B>;</CODE><BR> <P><TABLE> <TR><TD>mHostField</TD><TD>No description.</TD></TR> <TR><TD>mLoginField</TD><TD>No description.</TD></TR> <TR><TD>mDatabaseField</TD><TD>No description.</TD></TR> <TR><TD>mPortField</TD><TD>No description.</TD></TR> <TR><TD>mPasswordSheet</TD><TD>No description.</TD></TR> <TR><TD>mPasswordField</TD><TD>No description.</TD></TR> </TABLE> </blockquote> <P><HR WIDTH=50% ALIGN=LEFT> <H2>Method Types</H2> <blockquote> Actions for Interface Builder <DL><DT></DT> </DL> For the clear text information. <DL><DT></DT> <DD> <A HREF="#- doGo:">- doGo:</A></DD> <DD> <A HREF="#- doCancel:">- doCancel:</A></DD> <DD> <A HREF="#- modifyInstance:">- modifyInstance:</A></DD> </DL> For the password. <DL><DT></DT> <DD> <A HREF="#- passwordClick:">- passwordClick:</A></DD> <DD> <A HREF="#- askPassword:">- askPassword:</A></DD> <DD> <A HREF="#- Password">- Password</A></DD> </DL> Overrides of NSWindowController method, to adapt to this Window Controller. <DL><DT></DT> <DD> <A HREF="#- init">- init</A></DD> <DD> <A HREF="#- dealloc">- dealloc</A></DD> <DD> <A HREF="#- windowDidLoad">- windowDidLoad</A></DD> </DL> </blockquote> <HR WIDTH=50% ALIGN=LEFT> <H2>Instance Methods</H2> <A NAME="- Password"></A><H3><A NAME="//apple_ref/occ/instm/MCPConnectionWinCont/Password">Password</A></H3><P> <CODE>- (NSString *)<B>Password</B> </CODE><P> Send the password (from the NSPasswordField), this method puts the password in the answer (as an autoreleased object), and DELETE it from the NSSecureTextField. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- askPassword:"></A><H3><A NAME="//apple_ref/occ/instm/MCPConnectionWinCont/askPassword:">askPassword:</A></H3><P> <CODE>- (IBAction)<B>askPassword:</B>(id)<EM>sender</EM> </CODE><P> No method description. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- dealloc"></A><H3><A NAME="//apple_ref/occ/instm/MCPConnectionWinCont/dealloc">dealloc</A></H3><P> <CODE>- (void)<B>dealloc</B> </CODE><P> Gives notification that the WindowController is being deallocated (is it really useful? not yet!). <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- doCancel:"></A><H3><A NAME="//apple_ref/occ/instm/MCPConnectionWinCont/doCancel:">doCancel:</A></H3><P> <CODE>- (IBAction)<B>doCancel:</B>(id)<EM>sender</EM> </CODE><P> What to do when the user clicks on the Cancel button of the window. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- doGo:"></A><H3><A NAME="//apple_ref/occ/instm/MCPConnectionWinCont/doGo:">doGo:</A></H3><P> <CODE>- (IBAction)<B>doGo:</B>(id)<EM>sender</EM> </CODE><P> What to do when the user clicks on the Go button of the window. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- init"></A><H3><A NAME="//apple_ref/occ/instm/MCPConnectionWinCont/init">init</A></H3><P> <CODE>- (id)<B>init</B> </CODE><P> When inited, open the proper window... <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- modifyInstance:"></A><H3><A NAME="//apple_ref/occ/instm/MCPConnectionWinCont/modifyInstance:">modifyInstance:</A></H3><P> <CODE>- (IBAction)<B>modifyInstance:</B>(id)<EM>sender</EM> </CODE><P> Action to take when the user modify one of the entry of the New Connection dialog. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- passwordClick:"></A><H3><A NAME="//apple_ref/occ/instm/MCPConnectionWinCont/passwordClick:">passwordClick:</A></H3><P> <CODE>- (IBAction)<B>passwordClick:</B>(id)<EM>sender</EM> </CODE><P> For the password. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- windowDidLoad"></A><H3><A NAME="//apple_ref/occ/instm/MCPConnectionWinCont/windowDidLoad">windowDidLoad</A></H3><P> <CODE>- (void)<B>windowDidLoad</B> </CODE><P> What to do once the window has been loaded : update the fields... <P><HR> Version 1.1 Copyright ©2004 by Serge Cohen. All Rights Reserved. Thu Mar 04 22:45:46 2004 <P> </BODY></HTML> --- NEW FILE: MCPDocument.html --- <HTML><HEAD><TITLE></TITLE></HEAD> <BODY BGCOLOR="#FFFFFF"> <BR><BR><FONT COLOR="#000066"><H1><A NAME="//apple_ref/occ/cl/MCPDocument">MCPDocument</A></H1></FONT><BR> <blockquote><DL><DT><B>Inherits From:</B></DT> <DD>NSDocument</DD> </DL></blockquote> <blockquote><DL><DT><B>Declared In:</B></DT> <DD>MCPDocument.h</DD> </DL></blockquote> <BR><BR> <H2>Class Description</H2> No class description. <P><HR WIDTH=50% ALIGN=LEFT> <H2>Instance Variables</H2> <blockquote> <CODE>BOOL MCPConInfoNeeded, <B>MCPPassNeeded</B>;</CODE><BR> <CODE>NSString *MCPHost, *MCPLogin, *<B>MCPDatabase</B>;</CODE><BR> <CODE>unsigned int <B>MCPPort</B>;</CODE><BR> <CODE>MCPConnection *<B>MCPConnect</B>;</CODE><BR> <CODE>NSWindowController *<B>MCPMainWinCont</B>;</CODE><BR> <CODE>Class <B>MCPConnectedWinCont</B>;</CODE><BR> <P><TABLE> <TR><TD>MCPPassNeeded</TD><TD>No description.</TD></TR> <TR><TD>MCPDatabase</TD><TD>No description.</TD></TR> <TR><TD>MCPPort</TD><TD>No description.</TD></TR> <TR><TD>MCPConnect</TD><TD>No description.</TD></TR> <TR><TD>MCPMainWinCont</TD><TD>No description.</TD></TR> <TR><TD>MCPConnectedWinCont</TD><TD>Window controller used once the connection is established (As a class).</TD></TR> </TABLE> </blockquote> <P><HR WIDTH=50% ALIGN=LEFT> <H2>Method Types</H2> <blockquote> Class Maintenance <DL><DT></DT> <DD> <A HREF="#+ initialize">+ initialize</A></DD> </DL> Initialisation and deallocation <DL><DT></DT> <DD> <A HREF="#- init">- init</A></DD> <DD> <A HREF="#- dealloc">- dealloc</A></DD> </DL> Connection to the databse related <DL><DT></DT> <DD> <A HREF="#- MCPqueryString:">- MCPqueryString:</A></DD> <DD> <A HREF="#- MCPinsertRow:">- MCPinsertRow:</A></DD> </DL> Accessors to the parameters of the connection <DL><DT></DT> <DD> <A HREF="#- setMCPHost:">- setMCPHost:</A></DD> <DD> <A HREF="#- setMCPLogin:">- setMCPLogin:</A></DD> <DD> <A HREF="#- setMCPDatabase:">- setMCPDatabase:</A></DD> <DD> <A HREF="#- setMCPPort:">- setMCPPort:</A></DD> <DD> <A HREF="#- setMCPConInfoNeeded:">- setMCPConInfoNeeded:</A></DD> <DD> <A HREF="#- MCPHost">- MCPHost</A></DD> <DD> <A HREF="#- MCPLogin">- MCPLogin</A></DD> <DD> <A HREF="#- MCPDatabase">- MCPDatabase</A></DD> <DD> <A HREF="#- MCPPort">- MCPPort</A></DD> <DD> <A HREF="#- MCPConInfoNeeded">- MCPConInfoNeeded</A></DD> <DD> <A HREF="#- MCPPassNeeded">- MCPPassNeeded</A></DD> <DD> <A HREF="#- MCPisConnected">- MCPisConnected</A></DD> <DD> <A HREF="#- MCPConnect">- MCPConnect</A></DD> </DL> Accessor to the window generated once the connection is established <DL><DT></DT> <DD> <A HREF="#- setMCPConnectedWinCont:">- setMCPConnectedWinCont:</A></DD> <DD> <A HREF="#- MCPConnectedWinCont">- MCPConnectedWinCont</A></DD> </DL> Accessors to the main window (connection or connected window), through their window controller. <DL><DT></DT> <DD> <A HREF="#- MCPMainWinCont">- MCPMainWinCont</A></DD> </DL> Overrides of NSDocument methods. <DL><DT></DT> <DD> <A HREF="#- dataRepresentationOfType:">- dataRepresentationOfType:</A></DD> <DD> <A HREF="#- loadDataRepresentation:ofType:">- loadDataRepresentation:ofType:</A></DD> <DD> <A HREF="#- makeWindowControllers">- makeWindowControllers</A></DD> <DD> <A HREF="#- windowControllerDidLoadNib:">- windowControllerDidLoadNib:</A></DD> </DL> Method to take care of the password sheet. <DL><DT></DT> <DD> <A HREF="#- MCPpasswordSheetDidEnd:returnCode:contextInfo:">- MCPpasswordSheetDidEnd:returnCode:contextInfo:</A></DD> </DL> </blockquote> <P><HR WIDTH=50% ALIGN=LEFT> <H2>Class Methods</H2> <A NAME="+ initialize"></A><H3><A NAME="//apple_ref/occ/clm/MCPDocument/initialize">initialize</A></H3> <CODE>+ (void)<B>initialize</B> </CODE><P> No method description. <HR WIDTH=50% ALIGN=LEFT> <H2>Instance Methods</H2> <A NAME="- MCPConInfoNeeded"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPConInfoNeeded">MCPConInfoNeeded</A></H3><P> <CODE>- (BOOL)<B>MCPConInfoNeeded</B> </CODE><P> Return the status of the gathering of information for the connection. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- MCPConnect"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPConnect">MCPConnect</A></H3><P> <CODE>- (MCPConnection *)<B>MCPConnect</B> </CODE><P> Return a pointer to the used MCPConnection. SHOULD NOT be used (one should rather use the connection methods : MCPqueryString: or MCPinsertRow:) <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- MCPConnectedWinCont"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPConnectedWinCont">MCPConnectedWinCont</A></H3><P> <CODE>- (Class)<B>MCPConnectedWinCont</B> </CODE><P> Return the Class object of the class used for the main document window (once the connection to the DB server is established). <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- MCPDatabase"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPDatabase">MCPDatabase</A></H3><P> <CODE>- (NSString *)<B>MCPDatabase</B> </CODE><P> Returns the actual database name of the used db server. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- MCPHost"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPHost">MCPHost</A></H3><P> <CODE>- (NSString *)<B>MCPHost</B> </CODE><P> Returns the actual hostname of the used db server. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- MCPLogin"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPLogin">MCPLogin</A></H3><P> <CODE>- (NSString *)<B>MCPLogin</B> </CODE><P> Returns the actual login to the used db server. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- MCPMainWinCont"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPMainWinCont">MCPMainWinCont</A></H3><P> <CODE>- (NSWindowController *)<B>MCPMainWinCont</B> </CODE><P> Return the current main window controller for the document (closing this window causes a close of the document). <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- MCPPassNeeded"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPPassNeeded">MCPPassNeeded</A></H3><P> <CODE>- (BOOL)<B>MCPPassNeeded</B> </CODE><P> Return the status of the gathering of the password for the connection. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- MCPPort"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPPort">MCPPort</A></H3><P> <CODE>- (unsigned int)<B>MCPPort</B> </CODE><P> Returns the port used to connect to the database server (0 means default: from mysql.h -> MYSQL_PORT=3306). <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- MCPinsertRow:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPinsertRow:">MCPinsertRow:</A></H3><P> <CODE>- (unsigned int)<B>MCPinsertRow:</B>(NSString *)<EM>insert</EM> </CODE><P> Method to use to <I>insert</I> a new row in a table, will return the primary key (auto_increment column) of the new record. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- MCPisConnected"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPisConnected">MCPisConnected</A></H3><P> <CODE>- (BOOL)<B>MCPisConnected</B> </CODE><P> Check if the connection is working. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- MCPpasswordSheetDidEnd:returnCode:contextInfo:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPpasswordSheetDidEnd:returnCode:contextInfo:">MCPpasswordSheetDidEnd:returnCode:contextInfo:</A></H3><P> <CODE>- (void)<B>MCPpasswordSheetDidEnd:</B>(NSWindow *)<EM>sheet</EM> <B>returnCode:</B>(int)<EM>returnCode</EM> <B>contextInfo:</B>(void *)<EM>contextInfo</EM> </CODE><P> Method called once the user enterred the password and click Ok (or press return) Try to make a connection (depending of the button clicked), if password is refused, go back to ask connection information. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- MCPqueryString:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/MCPqueryString:">MCPqueryString:</A></H3><P> <CODE>- (MCPResult *)<B>MCPqueryString:</B>(NSString *)<EM>query</EM> </CODE><P> Send a <I>query</I> to the MCPConnection instance variable. For insert queries, one should prefer the insert: method, which return the primary key (auto_increment) of the new row. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- dataRepresentationOfType:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/dataRepresentationOfType:">dataRepresentationOfType:</A></H3><P> <CODE>- (NSData *)<B>dataRepresentationOfType:</B>(NSString *)<EM>aType</EM> </CODE><P> Return data correspoding to archived dictionary containing the parameters for the connection (except for the password, not saved). <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- dealloc"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/dealloc">dealloc</A></H3><P> <CODE>- (void)<B>dealloc</B> </CODE><P> Deallocation of the object... autorelease all the members. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- init"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/init">init</A></H3><P> <CODE>- (id)<B>init</B> </CODE><P> Initialisation of the MCPDocument object, by default every thing is setted to null (or empty), accordingly to that the mConInfoNeeded is setted to YES (true): the connection information (parameters) ARE needed. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- loadDataRepresentation:ofType:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/loadDataRepresentation:ofType:">loadDataRepresentation:ofType:</A></H3><P> <CODE>- (BOOL)<B>loadDataRepresentation:</B>(NSData *)<EM>data</EM> <B>ofType:</B>(NSString *)<EM>aType</EM> </CODE><P> Load a file containing the connection parameters (except for the password) in the instance of the MCPDocument. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- makeWindowControllers"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/makeWindowControllers">makeWindowControllers</A></H3><P> <CODE>- (NSArray *)<B>makeWindowControllers</B> </CODE><P> Make the proper window: either the Connection Info window or the main browser window. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- setMCPConInfoNeeded:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/setMCPConInfoNeeded:">setMCPConInfoNeeded:</A></H3><P> <CODE>- (void)<B>setMCPConInfoNeeded:</B>(BOOL)<EM>theConInfoNeeded</EM> </CODE><P> VERY IMPORTANT method! Change the value of mConInfoNeeded AND toggle the states of the object, removing appropriate window and displaying other(s) ... <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- setMCPConnectedWinCont:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/setMCPConnectedWinCont:">setMCPConnectedWinCont:</A></H3><P> <CODE>- (void)<B>setMCPConnectedWinCont:</B>(Class)<EM>theConnectedWinCont</EM> </CODE><P> Use to set the type of NSWindowController to be used for the main window of the document once the connection as been established. <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- setMCPDatabase:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/setMCPDatabase:">setMCPDatabase:</A></H3><P> <CODE>- (void)<B>setMCPDatabase:</B>(NSString *)<EM>theDatabase</EM> </CODE><P> Sets the name of the database to use on the db server (doesn't accept changes once mConInfoNeeded is NO). <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- setMCPHost:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/setMCPHost:">setMCPHost:</A></H3><P> <CODE>- (void)<B>setMCPHost:</B>(NSString *)<EM>theHost</EM> </CODE><P> Sets the name of the host to which to connect (the one which the db server runs) (doesn't accept changes once MCPConInfoNeeded is NO). <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- setMCPLogin:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/setMCPLogin:">setMCPLogin:</A></H3><P> <CODE>- (void)<B>setMCPLogin:</B>(NSString *)<EM>theLogin</EM> </CODE><P> Sets the name of the database to use on the db server (doesn't accept changes once MCPConInfoNeeded is NO). <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- setMCPPort:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/setMCPPort:">setMCPPort:</A></H3><P> <CODE>- (void)<B>setMCPPort:</B>(unsigned int)<EM>thePort</EM> </CODE><P> Set the port to use to connect to the database server (doesn't accept changes once mConInfoNeeded is NO). <P><HR WIDTH=25% ALIGN=LEFT> <A NAME="- windowControllerDidLoadNib:"></A><H3><A NAME="//apple_ref/occ/instm/MCPDocument/windowControllerDidLoadNib:">windowControllerDidLoadNib:</A></H3><P> <CODE>- (void)<B>windowControllerDidLoadNib:</B>(NSWindowController *)<EM>aController</EM> </CODE><P> What to do when a specific window is loaded: - Nothing for the Connection Info Window (MCPConnectionWindow.nib). - Whatever one wants for another window type. <P><HR> Version 1.1 Copyright ©2004 by Serge Cohen. All Rights Reserved. Thu Mar 04 22:45:47 2004 <P> </BODY></HTML> Index: MCPConnection+MCPFastQueries.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/SMySQL_doc/MCPConnection+MCPFastQueries.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MCPConnection+MCPFastQueries.html 19 Aug 2003 10:04:41 -0000 1.1 --- MCPConnection+MCPFastQueries.html 4 Mar 2004 22:19:12 -0000 1.2 *************** *** 144,148 **** <P><HR> ! Version 1.2 Copyright ©2002 by Serge Cohen. All Rights Reserved. Mon Aug 18 14:35:42 2003 <P> </BODY></HTML> --- 144,148 ---- <P><HR> ! Version 1.1 Copyright ©2003 by Serge Cohen. All Rights Reserved. Thu Mar 04 22:45:46 2004 <P> </BODY></HTML> Index: MCPConnection.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/SMySQL_doc/MCPConnection.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MCPConnection.html 19 Aug 2003 10:04:41 -0000 1.1 --- MCPConnection.html 4 Mar 2004 22:19:12 -0000 1.2 *************** *** 82,85 **** --- 82,86 ---- <CODE>BOOL <B>mConnected</B>;</CODE><BR> <CODE>NSStringEncoding <B>mEncoding</B>;</CODE><BR> + <CODE>unsigned int <B>mConnectionFlags</B>;</CODE><BR> <P><TABLE> *************** *** 90,93 **** --- 91,96 ---- <TR><TD>mEncoding</TD><TD>The encoding used by MySQL server, to ISO-1 default</TD></TR> + <TR><TD>mConnectionFlags</TD><TD>The flags to be used for the connection to the database.</TD></TR> + </TABLE> </blockquote> *************** *** 133,137 **** <DD> <A HREF="#- initToSocket:withLogin:password:">- initToSocket:withLogin:password:</A></DD> ! <DD> <A HREF="#- setConnectionOption:withArgument:">- setConnectionOption:withArgument:</A></DD> <DD> <A HREF="#- connectWithLogin:password:host:port:socket:">- connectWithLogin:password:host:port:socket:</A></DD> --- 136,140 ---- <DD> <A HREF="#- initToSocket:withLogin:password:">- initToSocket:withLogin:password:</A></DD> ! <DD> <A HREF="#- setConnectionOption:toValue:">- setConnectionOption:toValue:</A></DD> <DD> <A HREF="#- connectWithLogin:password:host:port:socket:">- connectWithLogin:password:host:port:socket:</A></DD> *************** *** 381,385 **** <CODE>- (id)<B>init</B> </CODE><P> ! Initialise a MySQLConnection without making a connection, most likely useless, except with <CODE>setConnectionOption:withArgument:</CODE>. <P><HR WIDTH=25% ALIGN=LEFT> --- 384,394 ---- <CODE>- (id)<B>init</B> </CODE><P> ! Initialise a MySQLConnection without making a connection, most likely useless, except with <CODE>setConnectionOption:withArgument:</CODE>.<P> ! ! Because this method is not making a connection to any MySQL server, it can not know already what the DB server encoding will be, ! hence the encoding is set to some default (at present this is NSISOLatin1StringEncoding). Obviously this is reset to a proper ! value as soon as a DB connection is performed.<P> ! ! <B>I AM CURRENTLY NOT TESTING THIS METHOD, so it is likely to be buggy</B>... I'd be SUPER happy to ear/read your feed-back on this. <P><HR WIDTH=25% ALIGN=LEFT> *************** *** 536,544 **** <P><HR WIDTH=25% ALIGN=LEFT> ! <A NAME="- setConnectionOption:withArgument:"></A><H3><A NAME="//apple_ref/occ/instm/MCPConnection/setConnectionOption:withArgument:">setConnectionOption:withArgument:</A></H3><P> ! <CODE>- (BOOL)<B>setConnectionOption:</B>(int)<EM>option</EM> <B>withArgument:</B>(id)<EM>arg</EM> </CODE><P> ! <B>NOT YET IMPLEMENTED</B><P> This method is to be used for getting special <I>option</I> for a connection, in which case the MCPConnection has to be inited with the init method, then <I>option</I> are selected, finally connection is done using one of the connect methods:<P> --- 545,553 ---- <P><HR WIDTH=25% ALIGN=LEFT> ! <A NAME="- setConnectionOption:toValue:"></A><H3><A NAME="//apple_ref/occ/instm/MCPConnection/setConnectionOption:toValue:">setConnectionOption:toValue:</A></H3><P> ! <CODE>- (BOOL)<B>setConnectionOption:</B>(int)<EM>option</EM> <B>toValue:</B>(BOOL)<EM>value</EM> </CODE><P> ! <B>IMPLEMENTED BUT NOT TESTED!!</B><P> This method is to be used for getting special <I>option</I> for a connection, in which case the MCPConnection has to be inited with the init method, then <I>option</I> are selected, finally connection is done using one of the connect methods:<P> *************** *** 546,550 **** <CODE> <BR> MCPConnection *theConnect = [[MCPConnection alloc] init]; <BR> ! [theConnect setConnectionOption: option withArgument: arg]; <BR> [theConnect connectToHost:albert.com withLogin:@"toto" password:@"albert" port:0]; <BR> .... <BR> --- 555,559 ---- <CODE> <BR> MCPConnection *theConnect = [[MCPConnection alloc] init]; <BR> ! [theConnect setConnectionOption: option toValue: value]; <BR> [theConnect connectToHost:albert.com withLogin:@"toto" password:@"albert" port:0]; <BR> .... <BR> *************** *** 581,585 **** <P><HR> ! Version 1.5 Copyright ©2003 by Serge Cohen. All Rights Reserved. Mon Aug 18 14:35:42 2003 <P> </BODY></HTML> --- 590,594 ---- <P><HR> ! Version 1.2 Copyright ©2003 by Serge Cohen. All Rights Reserved. Thu Mar 04 22:45:46 2004 <P> </BODY></HTML> Index: MCPResult+MCPResultPlus.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/SMySQL_doc/MCPResult+MCPResultPlus.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MCPResult+MCPResultPlus.html 19 Aug 2003 10:04:41 -0000 1.1 --- MCPResult+MCPResultPlus.html 4 Mar 2004 22:19:12 -0000 1.2 *************** *** 115,119 **** <P><HR> ! Version 1.2 Copyright ©2002 by Serge Cohen. All Rights Reserved. Mon Aug 18 14:35:42 2003 <P> </BODY></HTML> --- 115,119 ---- <P><HR> ! Version 1.1 Copyright ©2003 by Serge Cohen. All Rights Reserved. Thu Mar 04 22:45:46 2004 <P> </BODY></HTML> Index: MCPResult.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/SMySQL_doc/MCPResult.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MCPResult.html 19 Aug 2003 10:04:41 -0000 1.1 --- MCPResult.html 4 Mar 2004 22:19:12 -0000 1.2 *************** *** 34,42 **** MCPConnection *theConnec = [MCPConnection alloc]; <BR> MCPResult *theRes; <BR> ! NSDictionnary *theDict; <BR> NSArray *theColNames; <BR> int i, j;<BR> <BR> ! theConnec = [theConnec initToHost::albert.com withLogin:@"toto" password:@"albert" port:0]; <BR> [theConnec selectDB:@"db1"]; <BR> theRes = [theConnec queryString:@"select * from table1"]; <BR> --- 34,42 ---- MCPConnection *theConnec = [MCPConnection alloc]; <BR> MCPResult *theRes; <BR> ! NSDictionary *theDict; <BR> NSArray *theColNames; <BR> int i, j;<BR> <BR> ! theConnec = [theConnec initToHost:@"albert.com" withLogin:@"toto" password:@"albert" usingPort:0]; <BR> [theConnec selectDB:@"db1"]; <BR> theRes = [theConnec queryString:@"select * from table1"]; <BR> *************** *** 46,50 **** NSLog(@"Row : <I>d</I>\n", i); <BR> for (j=0; j<[theColNames count]; j++) { <BR> ! NSLog(@" Field : %@, contain : %@\n", [theColNames objectAtInex:j], [theDict objectForKey:[theColNames objectAtIndex:j]]); <BR> }<BR> i++; <BR> --- 46,50 ---- NSLog(@"Row : <I>d</I>\n", i); <BR> for (j=0; j<[theColNames count]; j++) { <BR> ! NSLog(@" Field : %@, contain : %@\n", [theColNames objectAtIndex:j], [theDict objectForKey:[theColNames objectAtIndex:j]]); <BR> }<BR> i++; <BR> *************** *** 387,391 **** <P><HR> ! Version 1.2 Copyright ©2002 by Serge Cohen. All Rights Reserved. Mon Aug 18 14:35:42 2003 <P> </BODY></HTML> --- 387,391 ---- <P><HR> ! Version 1.1 Copyright ©2003 by Serge Cohen. All Rights Reserved. Thu Mar 04 22:45:46 2004 <P> </BODY></HTML> Index: NSObject+MCPNSNullTest.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/SMySQL_doc/NSObject+MCPNSNullTest.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** NSObject+MCPNSNullTest.html 19 Aug 2003 10:04:41 -0000 1.1 --- NSObject+MCPNSNullTest.html 4 Mar 2004 22:19:12 -0000 1.2 *************** *** 77,81 **** <P><HR> ! Version 1.2 Copyright ©2002 by Serge Cohen. All Rights Reserved. Mon Aug 18 14:35:42 2003 <P> </BODY></HTML> --- 77,81 ---- <P><HR> ! Version 1.1 Copyright ©2003 by Serge Cohen. All Rights Reserved. Thu Mar 04 22:45:46 2004 <P> </BODY></HTML> |
From: Serge C. <ser...@us...> - 2004-03-04 18:14:01
|
Update of /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv765/MCPFoundationKit Modified Files: MCPResult.m Log Message: Corrected the comment (for documentation production) in MCPResult to correct miss-spelling found out with the help of Dave Winter. 2004-03-04; Serge Cohen. Index: MCPResult.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/MCPResult.m,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** MCPResult.m 1 Mar 2004 23:54:52 -0000 1.3 --- MCPResult.m 4 Mar 2004 17:52:37 -0000 1.4 *************** *** 45,53 **** MCPConnection *theConnec = [MCPConnection alloc]; MCPResult *theRes; ! NSDictionnary *theDict; NSArray *theColNames; int i, j; ! theConnec = [theConnec initToHost::albert.com withLogin:@"toto" password:@"albert" port:0]; [theConnec selectDB:@"db1"]; theRes = [theConnec queryString:@"select * from table1"]; --- 45,53 ---- MCPConnection *theConnec = [MCPConnection alloc]; MCPResult *theRes; ! NSDictionary *theDict; NSArray *theColNames; int i, j; ! theConnec = [theConnec initToHost:@"albert.com" withLogin:@"toto" password:@"albert" usingPort:0]; [theConnec selectDB:@"db1"]; theRes = [theConnec queryString:@"select * from table1"]; *************** *** 57,61 **** NSLog(@"Row : %d\n", i); for (j=0; j<[theColNames count]; j++) { ! NSLog(@" Field : %@, contain : %@\n", [theColNames objectAtInex:j], [theDict objectForKey:[theColNames objectAtIndex:j]]); } i++; --- 57,61 ---- NSLog(@"Row : %d\n", i); for (j=0; j<[theColNames count]; j++) { ! NSLog(@" Field : %@, contain : %@\n", [theColNames objectAtIndex:j], [theDict objectForKey:[theColNames objectAtIndex:j]]); } i++; |
From: Serge C. <ser...@us...> - 2004-03-02 00:14:08
|
Update of /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13926/MCPFoundationKit Modified Files: MCPConnection.m MCPResult.m Log Message: Corrected the InfoPlist.strings file bug (for the source distribution). Corrected the version string... so that they are all in sync to 2.2.3. 2004-03-02; Serge Cohen. Index: MCPConnection.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/MCPConnection.m,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MCPConnection.m 11 Oct 2003 20:32:25 -0000 1.2 --- MCPConnection.m 1 Mar 2004 23:54:52 -0000 1.3 *************** *** 122,126 **** { if (self = [MCPConnection class]) { ! [self setVersion:020202]; // Ma.Mi.Re -> MaMiRe } --- 122,126 ---- { if (self = [MCPConnection class]) { ! [self setVersion:020203]; // Ma.Mi.Re -> MaMiRe } Index: MCPResult.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/MCPResult.m,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MCPResult.m 11 Oct 2003 20:32:25 -0000 1.2 --- MCPResult.m 1 Mar 2004 23:54:52 -0000 1.3 *************** *** 71,75 **** { if (self = [MCPResult class]) { ! [self setVersion:020202]; // Ma.Mi.Re -> MaMiRe MCPYear0000 = [[NSCalendarDate dateWithTimeIntervalSinceReferenceDate:-63146822400.0] retain]; [MCPYear0000 setCalendarFormat:@"%Y"]; --- 71,75 ---- { if (self = [MCPResult class]) { ! [self setVersion:020203]; // Ma.Mi.Re -> MaMiRe MCPYear0000 = [[NSCalendarDate dateWithTimeIntervalSinceReferenceDate:-63146822400.0] retain]; [MCPYear0000 setCalendarFormat:@"%Y"]; |
From: Serge C. <ser...@us...> - 2004-03-02 00:13:42
|
Update of /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13795 Modified Files: project.pbxproj Log Message: Corrected the InfoPlist.strings file bug (for the source distribution). Corrected the version string... so that they are all in sync to 2.2.3. 2004-03-02; Serge Cohen. Index: project.pbxproj =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/project.pbxproj,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** project.pbxproj 1 Mar 2004 11:47:32 -0000 1.30 --- project.pbxproj 1 Mar 2004 23:54:28 -0000 1.31 *************** *** 157,161 **** CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.2.2; FRAMEWORK_SEARCH_PATHS = ""; FRAMEWORK_VERSION = A; --- 157,161 ---- CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.2.3; FRAMEWORK_SEARCH_PATHS = ""; FRAMEWORK_VERSION = A; *************** *** 192,196 **** <string>SMySQL</string> <key>CFBundleGetInfoString</key> ! <string>2.2.1, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> --- 192,196 ---- <string>SMySQL</string> <key>CFBundleGetInfoString</key> ! <string>2.2.3, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> *************** *** 204,212 **** <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.2.1</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> ! <string>2.2.1d1</string> <key>NSAppleScriptEnabled</key> <string>Yes</string> --- 204,212 ---- <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.2.3</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> ! <string>2.2.3d1</string> <key>NSAppleScriptEnabled</key> <string>Yes</string> *************** *** 636,640 **** CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.2.2; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; --- 636,640 ---- CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.2.3; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; *************** *** 671,675 **** <string>SMySQL_static</string> <key>CFBundleGetInfoString</key> ! <string>2.2.1, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> --- 671,675 ---- <string>SMySQL_static</string> <key>CFBundleGetInfoString</key> ! <string>2.2.3, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> *************** *** 683,691 **** <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.2.1</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> ! <string>2.2.1d1</string> <key>NSAppleScriptEnabled</key> <string>Yes</string> --- 683,691 ---- <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.2.3</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> ! <string>2.2.3d1</string> <key>NSAppleScriptEnabled</key> <string>Yes</string> *************** *** 781,785 **** CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.2.2; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; --- 781,785 ---- CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.2.3; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; *************** *** 816,820 **** <string>SMySQL_bundle</string> <key>CFBundleGetInfoString</key> ! <string>2.2.1, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> --- 816,820 ---- <string>SMySQL_bundle</string> <key>CFBundleGetInfoString</key> ! <string>2.2.3, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> *************** *** 828,836 **** <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.2.1</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> ! <string>2.2.1d1</string> <key>NSAppleScriptEnabled</key> <string>Yes</string> --- 828,836 ---- <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.2.3</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> ! <string>2.2.3d1</string> <key>NSAppleScriptEnabled</key> <string>Yes</string> *************** *** 1793,1797 **** <string>????</string> <key>CFBundleVersion</key> ! <string>2.2.1d1</string> </dict> </plist> --- 1793,1797 ---- <string>????</string> <key>CFBundleVersion</key> ! <string>2.2.3d1</string> </dict> </plist> *************** *** 1813,1817 **** runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nCP=\"cp -r\"\nWORK_DIR=\"$TARGET_BUILD_DIR/Distributions\"\n\nBASE_DIST_NAME=\"SMySQL\"\nVERSION_DIST=\"2.2.2\"\n\nSOURCE_FILES=\"CLI_Test MCPFoundationKit MCPApplicationKit SMySQLConstants.h SMySQL_Prefix.h README TO_DO TO_INSTALL gpl.txt gpl.html mysql_bins CLI_Test SMySQL.pbproj\"\n\nBIN_FILES=\"SMySQL.framework SMySQL_static.framework SMySQL_bundled.framework CLI_Test\"\n\nrm -rf \"$WORK_DIR\"\n$MKDIRS \"$WORK_DIR\"\ncd \"$WORK_DIR\"\n\n#cat - > foo.txt <<EOF\n#This Foo Bar saying Hello World...\n#EOF\n\n# Preparing the source distribution:\nSOURCE_DIST_NAME=\"${BASE_DIST_NAME}_src_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Sources_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_SOURCES=`hdid -nomount Sources_Temp.dmg`\nnewfs_hfs -v \"$SOURCE_DIST_NAME\" $DEV_SOURCES\nhdiutil eject $DEV_SOURCES\n# Mount in writable way:\nhdid Sources_Temp.dmg > mount_source.log\nDEV_SOURCES=`awk '{print $1}' mount_source.log`\nVOL_SOURCES=`awk '{print $2}' mount_source.log`\n# Copy the sources to the source volume...\ncd \"$SRCROOT\"\n$CP $SOURCE_FILES $VOL_SOURCES\nfind $VOL_SOURCES -name 'CVS' -exec rm -rf {} \\;\n# Make a Tar/gz version of the distribution...\ncd $VOL_SOURCES\ncd ..\ngnutar -cvzf \"${WORK_DIR}/${SOURCE_DIST_NAME}.tgz\" ${SOURCE_DIST_NAME}\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_SOURCES\nhdiutil convert -format UDZO Sources_Temp.dmg -o ${SOURCE_DIST_NAME}.dmg\n\n# Preparing the binary distribution:\nBINS_DIST_NAME=\"${BASE_DIST_NAME}_bin_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Bins_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_BINS=`hdid -nomount Bins_Temp.dmg`\nnewfs_hfs -v \"$BINS_DIST_NAME\" $DEV_BINS\nhdiutil eject $DEV_BINS\n# Mount in writable way:\nhdid Bins_Temp.dmg > mount_bin.log\nDEV_BINS=`awk '{print $1}' mount_bin.log`\nVOL_BINS=`awk '{print $2}' mount_bin.log`\n# Copy the sources to the source volume...\ncd \"$TARGET_BUILD_DIR\"\n$CP $BIN_FILES $VOL_BINS\n$CP ${SRCROOT}/README_BIN ${VOL_BINS}/README\n$CP \"${SRCROOT}/CLI_Test/README.txt\" ${VOL_BINS}/CLI_Test_README\n$CP \"${SRCROOT}/CLI_Test/Make_DB_and_table.mysql\" ${VOL_BINS}/\nmv \"${VOL_BINS}/CLI_Test\" \"${VOL_BINS}/CLI_Test.command\"\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_BINS\nhdiutil convert -format UDZO Bins_Temp.dmg -o ${BINS_DIST_NAME}.dmg\n\n\n# Clean_up:\nrm -f Sources_Temp.dmg\nrm -f mount_source.log\nrm -f Bins_Temp.dmg\nrm -f mount_bin.log\n\necho Everything will be in : $WORK_DIR\n"; }; //0D0 --- 1813,1817 ---- runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nCP=\"cp -r\"\nWORK_DIR=\"$TARGET_BUILD_DIR/Distributions\"\n\nBASE_DIST_NAME=\"SMySQL\"\nVERSION_DIST=\"2.2.3\"\n\nSOURCE_FILES=\"CLI_Test MCPFoundationKit MCPApplicationKit SMySQLConstants.h SMySQL_Prefix.h README TO_DO TO_INSTALL gpl.txt gpl.html mysql_bins CLI_Test SMySQL.pbproj English.lproj\"\n\nBIN_FILES=\"SMySQL.framework SMySQL_static.framework SMySQL_bundled.framework CLI_Test\"\n\nrm -rf \"$WORK_DIR\"\n$MKDIRS \"$WORK_DIR\"\ncd \"$WORK_DIR\"\n\n#cat - > foo.txt <<EOF\n#This Foo Bar saying Hello World...\n#EOF\n\n# Preparing the source distribution:\nSOURCE_DIST_NAME=\"${BASE_DIST_NAME}_src_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Sources_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_SOURCES=`hdid -nomount Sources_Temp.dmg`\nnewfs_hfs -v \"$SOURCE_DIST_NAME\" $DEV_SOURCES\nhdiutil eject $DEV_SOURCES\n# Mount in writable way:\nhdid Sources_Temp.dmg > mount_source.log\nDEV_SOURCES=`awk '{print $1}' mount_source.log`\nVOL_SOURCES=`awk '{print $2}' mount_source.log`\n# Copy the sources to the source volume...\ncd \"$SRCROOT\"\n$CP $SOURCE_FILES $VOL_SOURCES\nfind $VOL_SOURCES -name 'CVS' -exec rm -rf {} \\;\n# Make a Tar/gz version of the distribution...\ncd $VOL_SOURCES\ncd ..\ngnutar -cvzf \"${WORK_DIR}/${SOURCE_DIST_NAME}.tgz\" ${SOURCE_DIST_NAME}\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_SOURCES\nhdiutil convert -format UDZO Sources_Temp.dmg -o ${SOURCE_DIST_NAME}.dmg\n\n# Preparing the binary distribution:\nBINS_DIST_NAME=\"${BASE_DIST_NAME}_bin_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Bins_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_BINS=`hdid -nomount Bins_Temp.dmg`\nnewfs_hfs -v \"$BINS_DIST_NAME\" $DEV_BINS\nhdiutil eject $DEV_BINS\n# Mount in writable way:\nhdid Bins_Temp.dmg > mount_bin.log\nDEV_BINS=`awk '{print $1}' mount_bin.log`\nVOL_BINS=`awk '{print $2}' mount_bin.log`\n# Copy the sources to the source volume...\ncd \"$TARGET_BUILD_DIR\"\n$CP $BIN_FILES $VOL_BINS\n$CP ${SRCROOT}/README_BIN ${VOL_BINS}/README\n$CP \"${SRCROOT}/CLI_Test/README.txt\" ${VOL_BINS}/CLI_Test_README\n$CP \"${SRCROOT}/CLI_Test/Make_DB_and_table.mysql\" ${VOL_BINS}/\nmv \"${VOL_BINS}/CLI_Test\" \"${VOL_BINS}/CLI_Test.command\"\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_BINS\nhdiutil convert -format UDZO Bins_Temp.dmg -o ${BINS_DIST_NAME}.dmg\n\n\n# Clean_up:\nrm -f Sources_Temp.dmg\nrm -f mount_source.log\nrm -f Bins_Temp.dmg\nrm -f mount_bin.log\n\necho Everything will be in : $WORK_DIR\n"; }; //0D0 |
From: Serge C. <ser...@us...> - 2004-03-01 12:08:07
|
Update of /cvsroot/mysql-cocoa/SMySQL/CLI_Test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17746 Modified Files: main.m Log Message: Small changes to the main.m source of the CLI_Test application. 2004-03-01; Serge Cohen. Index: main.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/CLI_Test/main.m,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** main.m 16 Aug 2003 20:36:23 -0000 1.1 --- main.m 1 Mar 2004 11:49:17 -0000 1.2 *************** *** 31,39 **** #import <Foundation/Foundation.h> ! #import <SMySQL/SMySQL.h> int main (int argc, const char * argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; ! MCPConnection *connection; MCPResult *result; NSArray *names, *types; --- 31,39 ---- #import <Foundation/Foundation.h> ! #import <SMySQL_static/SMySQL_static.h> int main (int argc, const char * argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; ! MCPConnection *connection, *connect2; MCPResult *result; NSArray *names, *types; *************** *** 91,94 **** --- 91,107 ---- [connection release]; + + // Test of the init first, then connect (after having some option setted): + ///* + connect2 = [[MCPConnection alloc] init]; + [connect2 setConnectionOption:CLIENT_SSL toValue:YES]; + [connect2 connectWithLogin:@"ObjC" password:@"MySQL_class" host:@"localhost" port:0 socket:nil]; + [connect2 selectDB:@"test_mysqlclass"]; + result = [connect2 listTables]; + NSLog (@"Using connect2 : Here is the NSLog of a MCPResult (listTables) : \n%@", result); + result = [connect2 queryString:@"select * from test1"]; + NSLog (@"Using connect2 : content of table test1 : \n%@", result); + NSLog (@"Here comes the last error information : %@\n", [connect2 getLastErrorMessage]); + //*/ [pool release]; return 0; |
From: Serge C. <ser...@us...> - 2004-03-01 12:06:22
|
Update of /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17425 Modified Files: cohen.pbxuser project.pbxproj Log Message: Small modifications to the Project file (it is now opened at leeast once in Xcode). 2004-03-01; Serge Cohen. Index: cohen.pbxuser =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/cohen.pbxuser,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** cohen.pbxuser 11 Oct 2003 22:32:40 -0000 1.29 --- cohen.pbxuser 1 Mar 2004 11:47:32 -0000 1.30 *************** *** 2,8 **** { 0867D690FE84028FC02AAC07 = { ! activeBuildStyle = 014CEA450018CDF011CA2923; activeExecutable = 0DCFFE7604EE9B4400AD80EC; ! activeTarget = 0DEFA05704F0318B00A68F01; addToTargets = ( 0DA7207E04EE8A99002E9126, --- 2,8 ---- { 0867D690FE84028FC02AAC07 = { ! activeBuildStyle = 014CEA440018CDF011CA2923; activeExecutable = 0DCFFE7604EE9B4400AD80EC; ! activeTarget = 0DCFFE7404EE9B4400AD80EC; addToTargets = ( 0DA7207E04EE8A99002E9126, *************** *** 10,18 **** 0867D69CFE84028FC02AAC07, ); executables = ( 0DCFFE7604EE9B4400AD80EC, ); perUserDictionary = { ! PBXPerProjectTemplateStateSaveDate = 87603395; PBXWorkspaceContents = ( { --- 10,22 ---- 0867D69CFE84028FC02AAC07, ); + breakpoints = ( + 0D22D586053A078D0000000A, + 0D22D58B053A084D0000000A, + ); executables = ( 0DCFFE7604EE9B4400AD80EC, ); perUserDictionary = { ! PBXPerProjectTemplateStateSaveDate = 88074188; PBXWorkspaceContents = ( { *************** *** 21,25 **** Split0 = { NavContent0 = { ! bookmark = 0D516EBB0538BB280000000A; history = ( 0D82DD6C04F0FEC100B97554, --- 25,29 ---- Split0 = { NavContent0 = { ! bookmark = 0DA8D000053FE7DB0063D0FF; history = ( 0D82DD6C04F0FEC100B97554, *************** *** 29,33 **** 0D0D0ADF04F24A0900A8C863, 0DF73C6B04F49C5000A8C863, - 0D13F24A05242FC500956BC3, 0DB9ADC305388F320000000A, 0DB9ADC405388F320000000A, --- 33,36 ---- *************** *** 44,59 **** 0D9ECFF205389DCA0000000A, 0DBDEEA505389FE50000000A, - 0DBDEEA805389FE50000000A, - 0DBDEEA905389FE50000000A, - 0D516EA40538BB280000000A, 0D516EA50538BB280000000A, 0D516EA60538BB280000000A, - 0D516EA70538BB280000000A, - 0D516EA80538BB280000000A, 0D516EA90538BB280000000A, 0D516EAA0538BB280000000A, ! 0D516EAB0538BB280000000A, ! 0D516EAC0538BB280000000A, ! 0DBDEEA705389FE50000000A, ); prevStack = ( --- 47,63 ---- 0D9ECFF205389DCA0000000A, 0DBDEEA505389FE50000000A, 0D516EA50538BB280000000A, 0D516EA60538BB280000000A, 0D516EA90538BB280000000A, 0D516EAA0538BB280000000A, ! 0DC9C0D5053A06C80000000A, ! 0D22D59D053A09F20000000A, ! 0DFD6821053BFA7900AD95E7, ! 0DFD6823053BFA7900AD95E7, ! 0DFD6824053BFA7900AD95E7, ! 0DFD6825053BFA7900AD95E7, ! 0DFD6826053BFA7900AD95E7, ! 0DA2BCC3053ED3D10042E303, ! 0DA2BCC5053ED3D10042E303, ); prevStack = ( *************** *** 116,120 **** 0DCAF5B404FD1C0100A8C863, 0D2108A70521F29900E58DA2, - 0D13F24F05242FC500956BC3, 0DB9ADD405388F320000000A, 0DB9ADD505388F320000000A, --- 120,123 ---- *************** *** 166,180 **** 0D516EB30538BB280000000A, 0D516EB40538BB280000000A, - 0D516EB50538BB280000000A, - 0D516EB60538BB280000000A, 0D516EB70538BB280000000A, 0D516EB80538BB280000000A, 0D516EB90538BB280000000A, 0D516EBA0538BB280000000A, ); }; NavCount = 1; NavGeometry0 = { ! Frame = "{{0, 0}, {928, 641}}"; NavBarVisible = YES; }; --- 169,206 ---- 0D516EB30538BB280000000A, 0D516EB40538BB280000000A, 0D516EB70538BB280000000A, 0D516EB80538BB280000000A, 0D516EB90538BB280000000A, 0D516EBA0538BB280000000A, + 0DC9C0D8053A06C80000000A, + 0DC9C0D9053A06C80000000A, + 0D22D592053A09310000000A, + 0D22D593053A09310000000A, + 0D22D5A0053A09F20000000A, + 0D22D5A1053A09F20000000A, + 0D22D5A2053A09F20000000A, + 0D22D5A8053A0AA80000000A, + 0DCBC45C053A0C3B00335C63, + 0DCBC45D053A0C3B00335C63, + 0DCBC45E053A0C3B00335C63, + 0DDB4133053B100B00EE0B05, + 0DDB4134053B100B00EE0B05, + 0DDB4135053B100B00EE0B05, + 0DFD6828053BFA7900AD95E7, + 0DFD6829053BFA7900AD95E7, + 0DFD682A053BFA7900AD95E7, + 0DFD682B053BFA7900AD95E7, + 0DFD682C053BFA7900AD95E7, + 0DFD682D053BFA7900AD95E7, + 0DFD682E053BFA7900AD95E7, + 0DFD682F053BFA7900AD95E7, + 0DFD6830053BFA7900AD95E7, + 0DFD6831053BFA7900AD95E7, + 0DA2BCC4053ED3D10042E303, ); }; NavCount = 1; NavGeometry0 = { ! Frame = "{{0, 0}, {1061, 723}}"; NavBarVisible = YES; }; *************** *** 209,223 **** PBXWorkspaceGeometries = ( { ! ContentSize = "{1143, 688}"; LeftSlideOut = { ActiveTab = 3; ActiveTabName = PBXTargetTreeModule; Collapsed = NO; ! Frame = "{{0, 23}, {1143, 665}}"; Split0 = { Collapsed = NO; ! Frame = "{{215, 0}, {928, 665}}"; Split0 = { ! Frame = "{{0, 24}, {928, 641}}"; }; SplitCount = 1; --- 235,249 ---- PBXWorkspaceGeometries = ( { ! ContentSize = "{1276, 770}"; LeftSlideOut = { ActiveTab = 3; ActiveTabName = PBXTargetTreeModule; Collapsed = NO; ! Frame = "{{0, 23}, {1276, 747}}"; Split0 = { Collapsed = NO; ! Frame = "{{215, 0}, {1061, 747}}"; Split0 = { ! Frame = "{{0, 24}, {1061, 723}}"; }; SplitCount = 1; *************** *** 227,236 **** Tab1 = { Debugger = { Collapsed = NO; ! Frame = "{{0, 0}, {572, 150}}"; Split0 = { ! Frame = "{{0, 24}, {572, 126}}"; Split0 = { ! Frame = "{{0, 0}, {279, 126}}"; }; Split1 = { --- 253,264 ---- Tab1 = { Debugger = { + ActiveTab = 0; + ActiveTabName = PBXDebugCLIModule; Collapsed = NO; ! Frame = "{{0, 0}, {887, 283}}"; Split0 = { ! Frame = "{{0, 74}, {887, 209}}"; Split0 = { ! Frame = "{{0, 0}, {429, 209}}"; }; Split1 = { *************** *** 241,247 **** 85, Summary, ! 62.123, ); ! Frame = "{{288, 0}, {284, 126}}"; }; SplitCount = 2; --- 269,275 ---- 85, Summary, ! 215.123, ); ! Frame = "{{438, 0}, {449, 209}}"; }; SplitCount = 2; *************** *** 252,278 **** }; Tab1 = { ! Frame = "{{0, 0}, {100, 50}}"; }; TabCount = 2; TabsVisible = YES; }; ! Frame = "{{0, 0}, {572, 125}}"; LauncherConfigVersion = 7; }; Tab2 = { ! Frame = "{{0, 0}, {887, 448}}"; LauncherConfigVersion = 3; Runner = { ! Frame = "{{0, 0}, {887, 448}}"; }; }; Tab3 = { ! BuildMessageFrame = "{{0, 0}, {930, 104}}"; ! BuildTranscriptFrame = "{{0, 113}, {930, 228}}"; BuildTranscriptFrameExpanded = YES; ! Frame = "{{0, 0}, {928, 363}}"; }; Tab4 = { ! Frame = "{{0, 0}, {887, 295}}"; }; TabCount = 5; --- 280,306 ---- }; Tab1 = { ! Frame = "{{0, 0}, {887, 50}}"; }; TabCount = 2; TabsVisible = YES; }; ! Frame = "{{0, 0}, {887, 283}}"; LauncherConfigVersion = 7; }; Tab2 = { ! Frame = "{{0, 0}, {963, 448}}"; LauncherConfigVersion = 3; Runner = { ! Frame = "{{0, 0}, {963, 448}}"; }; }; Tab3 = { ! BuildMessageFrame = "{{0, 0}, {924, 104}}"; ! BuildTranscriptFrame = "{{0, 113}, {924, 228}}"; BuildTranscriptFrameExpanded = YES; ! Frame = "{{0, 0}, {922, 363}}"; }; Tab4 = { ! Frame = "{{0, 0}, {928, 295}}"; }; TabCount = 5; *************** *** 281,292 **** SplitCount = 1; Tab0 = { ! Frame = "{{0, 0}, {232, 665}}"; GroupTreeTableConfiguration = ( - SCMStatusColumn, - 22, TargetStatusColumn, 18, MainColumn, ! 177, ); }; --- 309,318 ---- SplitCount = 1; Tab0 = { ! Frame = "{{0, 0}, {232, 639}}"; GroupTreeTableConfiguration = ( TargetStatusColumn, 18, MainColumn, ! 199, ); }; *************** *** 312,316 **** }; Tab3 = { ! Frame = "{{0, 0}, {191, 665}}"; TargetTableConfiguration = ( ActiveObject, --- 338,342 ---- }; Tab3 = { ! Frame = "{{0, 0}, {191, 747}}"; TargetTableConfiguration = ( ActiveObject, *************** *** 336,343 **** Template = F5F68CF101725D4C0D7A8F4C; ToolbarVisible = YES; ! WindowLocation = "{119, 51}"; }, ); ! PBXWorkspaceStateSaveDate = 87603395; }; perUserProjectItems = { --- 362,369 ---- Template = F5F68CF101725D4C0D7A8F4C; ToolbarVisible = YES; ! WindowLocation = "{4, 0}"; }, ); ! PBXWorkspaceStateSaveDate = 88074188; }; perUserProjectItems = { *************** *** 345,360 **** 0D0D0ADF04F24A0900A8C863 = 0D0D0ADF04F24A0900A8C863; 0D0D0AE104F24A0900A8C863 = 0D0D0AE104F24A0900A8C863; - 0D13F24A05242FC500956BC3 = 0D13F24A05242FC500956BC3; - 0D13F24F05242FC500956BC3 = 0D13F24F05242FC500956BC3; 0D2108A70521F29900E58DA2 = 0D2108A70521F29900E58DA2; ! 0D516EA40538BB280000000A = 0D516EA40538BB280000000A; 0D516EA50538BB280000000A = 0D516EA50538BB280000000A; 0D516EA60538BB280000000A = 0D516EA60538BB280000000A; - 0D516EA70538BB280000000A = 0D516EA70538BB280000000A; - 0D516EA80538BB280000000A = 0D516EA80538BB280000000A; 0D516EA90538BB280000000A = 0D516EA90538BB280000000A; 0D516EAA0538BB280000000A = 0D516EAA0538BB280000000A; - 0D516EAB0538BB280000000A = 0D516EAB0538BB280000000A; - 0D516EAC0538BB280000000A = 0D516EAC0538BB280000000A; 0D516EAD0538BB280000000A = 0D516EAD0538BB280000000A; 0D516EAE0538BB280000000A = 0D516EAE0538BB280000000A; --- 371,386 ---- 0D0D0ADF04F24A0900A8C863 = 0D0D0ADF04F24A0900A8C863; 0D0D0AE104F24A0900A8C863 = 0D0D0AE104F24A0900A8C863; 0D2108A70521F29900E58DA2 = 0D2108A70521F29900E58DA2; ! 0D22D592053A09310000000A = 0D22D592053A09310000000A; ! 0D22D593053A09310000000A = 0D22D593053A09310000000A; ! 0D22D59D053A09F20000000A = 0D22D59D053A09F20000000A; ! 0D22D5A0053A09F20000000A = 0D22D5A0053A09F20000000A; ! 0D22D5A1053A09F20000000A = 0D22D5A1053A09F20000000A; ! 0D22D5A2053A09F20000000A = 0D22D5A2053A09F20000000A; ! 0D22D5A8053A0AA80000000A = 0D22D5A8053A0AA80000000A; 0D516EA50538BB280000000A = 0D516EA50538BB280000000A; 0D516EA60538BB280000000A = 0D516EA60538BB280000000A; 0D516EA90538BB280000000A = 0D516EA90538BB280000000A; 0D516EAA0538BB280000000A = 0D516EAA0538BB280000000A; 0D516EAD0538BB280000000A = 0D516EAD0538BB280000000A; 0D516EAE0538BB280000000A = 0D516EAE0538BB280000000A; *************** *** 365,375 **** 0D516EB30538BB280000000A = 0D516EB30538BB280000000A; 0D516EB40538BB280000000A = 0D516EB40538BB280000000A; - 0D516EB50538BB280000000A = 0D516EB50538BB280000000A; - 0D516EB60538BB280000000A = 0D516EB60538BB280000000A; 0D516EB70538BB280000000A = 0D516EB70538BB280000000A; 0D516EB80538BB280000000A = 0D516EB80538BB280000000A; 0D516EB90538BB280000000A = 0D516EB90538BB280000000A; 0D516EBA0538BB280000000A = 0D516EBA0538BB280000000A; - 0D516EBB0538BB280000000A = 0D516EBB0538BB280000000A; 0D6DC6FD04F03FE40025C233 = 0D6DC6FD04F03FE40025C233; 0D7C23E404F505B300A8C863 = 0D7C23E404F505B300A8C863; --- 391,398 ---- *************** *** 433,436 **** --- 456,463 ---- 0D9ECFFE05389DCA0000000A = 0D9ECFFE05389DCA0000000A; 0D9ECFFF05389DCA0000000A = 0D9ECFFF05389DCA0000000A; + 0DA2BCC3053ED3D10042E303 = 0DA2BCC3053ED3D10042E303; + 0DA2BCC4053ED3D10042E303 = 0DA2BCC4053ED3D10042E303; + 0DA2BCC5053ED3D10042E303 = 0DA2BCC5053ED3D10042E303; + 0DA8D000053FE7DB0063D0FF = 0DA8D000053FE7DB0063D0FF; 0DB9ADC305388F320000000A = 0DB9ADC305388F320000000A; 0DB9ADC405388F320000000A = 0DB9ADC405388F320000000A; *************** *** 466,472 **** 0DB9ADE705388F320000000A = 0DB9ADE705388F320000000A; 0DBDEEA505389FE50000000A = 0DBDEEA505389FE50000000A; - 0DBDEEA705389FE50000000A = 0DBDEEA705389FE50000000A; - 0DBDEEA805389FE50000000A = 0DBDEEA805389FE50000000A; - 0DBDEEA905389FE50000000A = 0DBDEEA905389FE50000000A; 0DBDEEAB05389FE50000000A = 0DBDEEAB05389FE50000000A; 0DBDEEAC05389FE50000000A = 0DBDEEAC05389FE50000000A; --- 493,496 ---- *************** *** 477,480 **** --- 501,507 ---- 0DBDEEB105389FE50000000A = 0DBDEEB105389FE50000000A; 0DBDEEB205389FE50000000A = 0DBDEEB205389FE50000000A; + 0DC9C0D5053A06C80000000A = 0DC9C0D5053A06C80000000A; + 0DC9C0D8053A06C80000000A = 0DC9C0D8053A06C80000000A; + 0DC9C0D9053A06C80000000A = 0DC9C0D9053A06C80000000A; 0DCAF5B004FD1C0100A8C863 = 0DCAF5B004FD1C0100A8C863; 0DCAF5B104FD1C0100A8C863 = 0DCAF5B104FD1C0100A8C863; *************** *** 482,486 **** --- 509,519 ---- 0DCAF5B304FD1C0100A8C863 = 0DCAF5B304FD1C0100A8C863; 0DCAF5B404FD1C0100A8C863 = 0DCAF5B404FD1C0100A8C863; + 0DCBC45C053A0C3B00335C63 = 0DCBC45C053A0C3B00335C63; + 0DCBC45D053A0C3B00335C63 = 0DCBC45D053A0C3B00335C63; + 0DCBC45E053A0C3B00335C63 = 0DCBC45E053A0C3B00335C63; 0DDA3DA10538A08F0000000A = 0DDA3DA10538A08F0000000A; + 0DDB4133053B100B00EE0B05 = 0DDB4133053B100B00EE0B05; + 0DDB4134053B100B00EE0B05 = 0DDB4134053B100B00EE0B05; + 0DDB4135053B100B00EE0B05 = 0DDB4135053B100B00EE0B05; 0DE4C10104FC079E00A8C863 = 0DE4C10104FC079E00A8C863; 0DF73C6B04F49C5000A8C863 = 0DF73C6B04F49C5000A8C863; *************** *** 490,493 **** --- 523,541 ---- 0DF73C7604F49C5000A8C863 = 0DF73C7604F49C5000A8C863; 0DF73C7704F49C5000A8C863 = 0DF73C7704F49C5000A8C863; + 0DFD6821053BFA7900AD95E7 = 0DFD6821053BFA7900AD95E7; + 0DFD6823053BFA7900AD95E7 = 0DFD6823053BFA7900AD95E7; + 0DFD6824053BFA7900AD95E7 = 0DFD6824053BFA7900AD95E7; + 0DFD6825053BFA7900AD95E7 = 0DFD6825053BFA7900AD95E7; + 0DFD6826053BFA7900AD95E7 = 0DFD6826053BFA7900AD95E7; + 0DFD6828053BFA7900AD95E7 = 0DFD6828053BFA7900AD95E7; + 0DFD6829053BFA7900AD95E7 = 0DFD6829053BFA7900AD95E7; + 0DFD682A053BFA7900AD95E7 = 0DFD682A053BFA7900AD95E7; + 0DFD682B053BFA7900AD95E7 = 0DFD682B053BFA7900AD95E7; + 0DFD682C053BFA7900AD95E7 = 0DFD682C053BFA7900AD95E7; + 0DFD682D053BFA7900AD95E7 = 0DFD682D053BFA7900AD95E7; + 0DFD682E053BFA7900AD95E7 = 0DFD682E053BFA7900AD95E7; + 0DFD682F053BFA7900AD95E7 = 0DFD682F053BFA7900AD95E7; + 0DFD6830053BFA7900AD95E7 = 0DFD6830053BFA7900AD95E7; + 0DFD6831053BFA7900AD95E7 = 0DFD6831053BFA7900AD95E7; }; projectwideBuildSettings = { *************** *** 523,571 **** vrLoc = 0; }; ! 0D13F24A05242FC500956BC3 = { ! fRef = 0D13F25305242FC500956BC3; ! isa = PBXTextBookmark; ! name = "MCPConnection.h: 1"; ! rLen = 0; ! rLoc = 0; ! rType = 0; ! vrLen = 1542; ! vrLoc = 0; }; ! 0D13F24F05242FC500956BC3 = { ! fRef = 0D13F25805242FC500956BC3; isa = PBXTextBookmark; ! name = "MCPConnection.h: 1"; rLen = 0; ! rLoc = 0; rType = 0; ! vrLen = 1542; vrLoc = 0; }; ! 0D13F25305242FC500956BC3 = { ! isa = PBXFileReference; ! name = MCPConnection.h; ! path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL_bundled.framework/Versions/A/Headers/MCPConnection.h"; ! refType = 0; }; ! 0D13F25805242FC500956BC3 = { ! isa = PBXFileReference; ! name = MCPConnection.h; ! path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL_bundled.framework/Versions/A/Headers/MCPConnection.h"; ! refType = 0; }; ! 0D2108A70521F29900E58DA2 = { isa = PBXTargetBookmark; ! trg = 0DEFA05704F0318B00A68F01; }; ! 0D516EA40538BB280000000A = { ! fRef = 0DCFFE3A04EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPConnection.m: 174"; ! rLen = 0; ! rLoc = 5704; ! rType = 0; ! vrLen = 1660; ! vrLoc = 4282; }; 0D516EA50538BB280000000A = { --- 571,623 ---- vrLoc = 0; }; ! 0D2108A70521F29900E58DA2 = { ! isa = PBXTargetBookmark; ! trg = 0DEFA05704F0318B00A68F01; }; ! 0D22D586053A078D0000000A = { ! fileReference = 0DCEFA2204EEADEB00F30895; ! isa = PBXFileBreakpoint; ! lineNumber = 44; ! state = 1; ! }; ! 0D22D58B053A084D0000000A = { ! fileReference = 0DCEFA2204EEADEB00F30895; ! isa = PBXFileBreakpoint; ! lineNumber = 36; ! state = 1; ! }; ! 0D22D592053A09310000000A = { ! fRef = 0DCEFA2204EEADEB00F30895; isa = PBXTextBookmark; ! name = "main.m: __DBL_MAX__"; rLen = 0; ! rLoc = 1143; rType = 0; ! vrLen = 1654; vrLoc = 0; }; ! 0D22D593053A09310000000A = { ! isa = PBXTargetBookmark; ! trg = 0DCFFE7404EE9B4400AD80EC; }; ! 0D22D59D053A09F20000000A = { ! isa = PBXTargetBookmark; ! trg = 0867D69CFE84028FC02AAC07; }; ! 0D22D5A0053A09F20000000A = { ! bstl = 014CEA440018CDF011CA2923; ! isa = PBXBuildStyleBookmark; ! }; ! 0D22D5A1053A09F20000000A = { isa = PBXTargetBookmark; ! trg = 0867D69CFE84028FC02AAC07; }; ! 0D22D5A2053A09F20000000A = { ! isa = PBXTargetBookmark; ! trg = 0DA7207E04EE8A99002E9126; ! }; ! 0D22D5A8053A0AA80000000A = { ! exec = 0DCFFE7604EE9B4400AD80EC; ! isa = PBXExecutableBookmark; }; 0D516EA50538BB280000000A = { *************** *** 589,606 **** vrLoc = 0; }; - 0D516EA70538BB280000000A = { - fRef = 0D516EBE0538BB280000000A; - glyphRangeLength = 706; - glyphRangeLocation = 5232; - isa = PBXDocBookmark; - name = "MCPDocument.html: setMCPLogin ..."; - }; - 0D516EA80538BB280000000A = { - fRef = 0D516EBF0538BB280000000A; - glyphRangeLength = 516; - glyphRangeLocation = 118; - isa = PBXDocBookmark; - name = "MCPConnectionWinCont.html: This class i..."; - }; 0D516EA90538BB280000000A = { fRef = 0D516E810538B9000000000A; --- 641,644 ---- *************** *** 623,662 **** vrLoc = 30; }; - 0D516EAB0538BB280000000A = { - isa = PBXTargetBookmark; - trg = 0867D69CFE84028FC02AAC07; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {636, 459}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; - TOCViewSelectedItems = ( - 0D2AA83B04EED03700349A90, - ); - }; - }; - 0D516EAC0538BB280000000A = { - isa = PBXTargetBookmark; - trg = 0DA7207E04EE8A99002E9126; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {637, 459}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {252, 587}}"; - TOCViewSelectedItems = ( - 0D2AA83C04EED06400349A90, - ); - }; - }; 0D516EAD0538BB280000000A = { fRef = 0DCFFE3A04EE97AE00AD80EC; --- 661,664 ---- *************** *** 732,763 **** isa = PBXTargetBookmark; trg = 0867D69CFE84028FC02AAC07; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {608, 473}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {240, 587}}"; - TOCViewSelectedItems = ( - 0D2AA83B04EED03700349A90, - ); - }; - }; - 0D516EB50538BB280000000A = { - fRef = 0D516EBD0538BB280000000A; - glyphRangeLength = 706; - glyphRangeLocation = 5232; - isa = PBXDocBookmark; - name = "MCPDocument.html: setMCPLogin ..."; - }; - 0D516EB60538BB280000000A = { - fRef = 0D516EBC0538BB280000000A; - glyphRangeLength = 516; - glyphRangeLocation = 118; - isa = PBXDocBookmark; - name = "MCPConnectionWinCont.html: This class i..."; }; 0D516EB70538BB280000000A = { --- 734,737 ---- *************** *** 784,861 **** isa = PBXTargetBookmark; trg = 0867D69CFE84028FC02AAC07; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {636, 459}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; - TOCViewSelectedItems = ( - 0D2AA83B04EED03700349A90, - ); - }; }; 0D516EBA0538BB280000000A = { isa = PBXTargetBookmark; trg = 0DA7207E04EE8A99002E9126; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {637, 459}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {252, 587}}"; - TOCViewSelectedItems = ( - 0D2AA83C04EED06400349A90, - ); - }; - }; - 0D516EBB0538BB280000000A = { - isa = PBXTargetBookmark; - trg = 0DA7208504EE8C3F002E9126; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {636, 459}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; - TOCViewSelectedItems = ( - 0D2AA83D04EED07700349A90, - ); - }; - }; - 0D516EBC0538BB280000000A = { - isa = PBXFileReference; - name = MCPConnectionWinCont.html; - path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL.framework/Resources/English.lproj/Documentation/Classes/MCPConnectionWinCont.html"; - refType = 0; - }; - 0D516EBD0538BB280000000A = { - isa = PBXFileReference; - name = MCPDocument.html; - path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL.framework/Resources/English.lproj/Documentation/Classes/MCPDocument.html"; - refType = 0; - }; - 0D516EBE0538BB280000000A = { - isa = PBXFileReference; - name = MCPDocument.html; - path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL.framework/Resources/English.lproj/Documentation/Classes/MCPDocument.html"; - refType = 0; - }; - 0D516EBF0538BB280000000A = { - isa = PBXFileReference; - name = MCPConnectionWinCont.html; - path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL.framework/Resources/English.lproj/Documentation/Classes/MCPConnectionWinCont.html"; - refType = 0; }; 0D6DC6FD04F03FE40025C233 = { --- 758,765 ---- *************** *** 1199,1202 **** --- 1103,1130 ---- vrLoc = 1632; }; + 0DA2BCC3053ED3D10042E303 = { + fRef = 0DCEFA2204EEADEB00F30895; + isa = PBXTextBookmark; + name = "main.m: 97"; + rLen = 0; + rLoc = 3801; + rType = 0; + vrLen = 597; + vrLoc = 2375; + }; + 0DA2BCC4053ED3D10042E303 = { + fRef = 0DCEFA2204EEADEB00F30895; + isa = PBXTextBookmark; + name = "main.m: 97"; + rLen = 0; + rLoc = 3801; + rType = 0; + vrLen = 597; + vrLoc = 2375; + }; + 0DA2BCC5053ED3D10042E303 = { + isa = PBXTargetBookmark; + trg = 0DEFA05704F0318B00A68F01; + }; 0DA7207E04EE8A99002E9126 = { activeExec = 0; *************** *** 1205,1208 **** --- 1133,1154 ---- activeExec = 0; }; + 0DA8D000053FE7DB0063D0FF = { + isa = PBXTargetBookmark; + trg = 0DEFA05704F0318B00A68F01; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {731, 233}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {291, 669}}"; + TOCViewSelectedItems = ( + PBXTargetSummarySettingsModule, + ); + }; + }; 0DB9ADC305388F320000000A = { fRef = 0DCFFE3B04EE97AE00AD80EC; *************** *** 1511,1526 **** isa = PBXBuildStyleBookmark; }; - 0DBDEEA705389FE50000000A = { - isa = PBXTargetBookmark; - trg = 0DA7208504EE8C3F002E9126; - }; - 0DBDEEA805389FE50000000A = { - isa = PBXTargetBookmark; - trg = 0DCFFE7404EE9B4400AD80EC; - }; - 0DBDEEA905389FE50000000A = { - isa = PBXTargetBookmark; - trg = 0DEFA05704F0318B00A68F01; - }; 0DBDEEAB05389FE50000000A = { fRef = 0DCFFE3A04EE97AE00AD80EC; --- 1457,1460 ---- *************** *** 1561,1564 **** --- 1495,1510 ---- trg = 0DEFA05704F0318B00A68F01; }; + 0DC9C0D5053A06C80000000A = { + isa = PBXTargetBookmark; + trg = 0DA7208504EE8C3F002E9126; + }; + 0DC9C0D8053A06C80000000A = { + isa = PBXTargetBookmark; + trg = 0DA7208504EE8C3F002E9126; + }; + 0DC9C0D9053A06C80000000A = { + bstl = 014CEA440018CDF011CA2923; + isa = PBXBuildStyleBookmark; + }; 0DCAF5B004FD1C0100A8C863 = { isa = PBXTargetBookmark; *************** *** 1581,1584 **** --- 1527,1548 ---- trg = 0DCFFE7404EE9B4400AD80EC; }; + 0DCBC45C053A0C3B00335C63 = { + fRef = 0DCEFA2204EEADEB00F30895; + isa = PBXTextBookmark; + name = "main.m: __DBL_MAX__"; + rLen = 0; + rLoc = 1143; + rType = 0; + vrLen = 607; + vrLoc = 0; + }; + 0DCBC45D053A0C3B00335C63 = { + exec = 0DCFFE7604EE9B4400AD80EC; + isa = PBXExecutableBookmark; + }; + 0DCBC45E053A0C3B00335C63 = { + isa = PBXTargetBookmark; + trg = 0DCFFE7404EE9B4400AD80EC; + }; 0DCFFE7404EE9B4400AD80EC = { activeExec = 0; *************** *** 1611,1614 **** --- 1575,1590 ---- trg = 0867D69CFE84028FC02AAC07; }; + 0DDB4133053B100B00EE0B05 = { + exec = 0DCFFE7604EE9B4400AD80EC; + isa = PBXExecutableBookmark; + }; + 0DDB4134053B100B00EE0B05 = { + isa = PBXTargetBookmark; + trg = 0DCFFE7404EE9B4400AD80EC; + }; + 0DDB4135053B100B00EE0B05 = { + exec = 0DCFFE7604EE9B4400AD80EC; + isa = PBXExecutableBookmark; + }; 0DE4C10104FC079E00A8C863 = { isa = PBXTargetBookmark; *************** *** 1654,1656 **** --- 1630,1710 ---- trg = 0DCFFE7404EE9B4400AD80EC; }; + 0DFD6821053BFA7900AD95E7 = { + isa = PBXTargetBookmark; + trg = 0DA7207E04EE8A99002E9126; + }; + 0DFD6823053BFA7900AD95E7 = { + isa = PBXTargetBookmark; + trg = 0DCFFE7404EE9B4400AD80EC; + }; + 0DFD6824053BFA7900AD95E7 = { + bstl = 014CEA440018CDF011CA2923; + isa = PBXBuildStyleBookmark; + }; + 0DFD6825053BFA7900AD95E7 = { + exec = 0DCFFE7604EE9B4400AD80EC; + isa = PBXExecutableBookmark; + }; + 0DFD6826053BFA7900AD95E7 = { + fRef = 0DCFFE3A04EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPConnection.m: 349"; + rLen = 0; + rLoc = 11502; + rType = 0; + vrLen = 1139; + vrLoc = 10580; + }; + 0DFD6828053BFA7900AD95E7 = { + isa = PBXTargetBookmark; + trg = 0DEFA05704F0318B00A68F01; + }; + 0DFD6829053BFA7900AD95E7 = { + isa = PBXTargetBookmark; + trg = 0DA7207E04EE8A99002E9126; + }; + 0DFD682A053BFA7900AD95E7 = { + isa = PBXTargetBookmark; + trg = 0DCFFE7404EE9B4400AD80EC; + }; + 0DFD682B053BFA7900AD95E7 = { + bstl = 014CEA440018CDF011CA2923; + isa = PBXBuildStyleBookmark; + }; + 0DFD682C053BFA7900AD95E7 = { + isa = PBXTargetBookmark; + trg = 0DEFA05704F0318B00A68F01; + }; + 0DFD682D053BFA7900AD95E7 = { + isa = PBXTargetBookmark; + trg = 0DCFFE7404EE9B4400AD80EC; + }; + 0DFD682E053BFA7900AD95E7 = { + bstl = 014CEA440018CDF011CA2923; + isa = PBXBuildStyleBookmark; + }; + 0DFD682F053BFA7900AD95E7 = { + exec = 0DCFFE7604EE9B4400AD80EC; + isa = PBXExecutableBookmark; + }; + 0DFD6830053BFA7900AD95E7 = { + fRef = 0DCEFA2204EEADEB00F30895; + isa = PBXTextBookmark; + name = "main.m: 90"; + rLen = 0; + rLoc = 3560; + rType = 0; + vrLen = 1948; + vrLoc = 2311; + }; + 0DFD6831053BFA7900AD95E7 = { + fRef = 0DCFFE3A04EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPConnection.m: 349"; + rLen = 0; + rLoc = 11502; + rType = 0; + vrLen = 1139; + vrLoc = 10580; + }; } Index: project.pbxproj =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/project.pbxproj,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** project.pbxproj 11 Oct 2003 22:32:40 -0000 1.29 --- project.pbxproj 1 Mar 2004 11:47:32 -0000 1.30 *************** *** 4,8 **** classes = { }; ! objectVersion = 38; objects = { 014CEA440018CDF011CA2923 = { --- 4,8 ---- classes = { }; ! objectVersion = 39; objects = { 014CEA440018CDF011CA2923 = { *************** *** 12,17 **** --- 12,22 ---- COPY_PHASE_STRIP = NO; DEBUGGING_SYMBOLS = YES; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; OPTIMIZATION_CFLAGS = "-O0"; PROFILING_CODE = YES; + ZERO_LINK = YES; }; isa = PBXBuildStyle; *************** *** 24,29 **** --- 29,36 ---- COPY_PHASE_STRIP = YES; DEBUGGING_SYMBOLS = NO; + GCC_ENABLE_FIX_AND_CONTINUE = NO; OPTIMIZATION_CFLAGS = "-O3"; PROFILING_CODE = NO; + ZERO_LINK = NO; }; isa = PBXBuildStyle; *************** *** 51,59 **** --- 58,70 ---- name = Products; refType = 4; + sourceTree = "<group>"; }; 034768E0FF38A50411DB9C8B = { + explicitFileType = wrapper.framework; + fallbackIsa = PBXFileReference; isa = PBXFrameworkReference; path = SMySQL.framework; refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; }; //030 *************** *** 68,71 **** --- 79,84 ---- //084 0867D690FE84028FC02AAC07 = { + buildSettings = { + }; buildStyles = ( 014CEA440018CDF011CA2923, *************** *** 106,109 **** --- 119,123 ---- name = SMySQL; refType = 4; + sourceTree = "<group>"; }; 0867D69AFE84028FC02AAC07 = { *************** *** 119,128 **** --- 133,146 ---- name = "External Frameworks and Libraries"; refType = 4; + sourceTree = "<group>"; }; 0867D69BFE84028FC02AAC07 = { + fallbackIsa = PBXFileReference; isa = PBXFrameworkReference; + lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; refType = 0; + sourceTree = "<absolute>"; }; 0867D69CFE84028FC02AAC07 = { *************** *** 256,263 **** --- 274,284 ---- }; 0867D6A5FE840307C02AAC07 = { + fallbackIsa = PBXFileReference; isa = PBXFrameworkReference; + lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; refType = 0; + sourceTree = "<absolute>"; }; 089C1665FE841158C02AAC07 = { *************** *** 269,272 **** --- 290,294 ---- name = Resources; refType = 4; + sourceTree = "<group>"; }; 089C1666FE841158C02AAC07 = { *************** *** 277,287 **** --- 299,312 ---- name = InfoPlist.strings; refType = 4; + sourceTree = "<group>"; }; 089C1667FE841158C02AAC07 = { fileEncoding = 10; isa = PBXFileReference; + lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; refType = 4; + sourceTree = "<group>"; }; 089C1668FE841158C02AAC07 = { *************** *** 311,314 **** --- 336,340 ---- path = MCPFoundationKit; refType = 2; + sourceTree = SOURCE_ROOT; }; //080 *************** *** 326,334 **** files = ( ); - generatedFileNames = ( - ); isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; --- 352,356 ---- *************** *** 339,347 **** files = ( ); - generatedFileNames = ( - ); isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; --- 361,365 ---- *************** *** 352,360 **** files = ( ); - generatedFileNames = ( - ); isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; --- 370,374 ---- *************** *** 369,378 **** --- 383,395 ---- path = ""; refType = 4; + sourceTree = "<group>"; }; 0D516E7D0538B8E60000000A = { isa = PBXFileReference; + lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MCPConnectionWindow.nib; refType = 4; + sourceTree = "<group>"; }; 0D516E7E0538B8E60000000A = { *************** *** 397,420 **** --- 414,445 ---- fileEncoding = 4; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; path = MCPConnectionWinCont.h; refType = 4; + sourceTree = "<group>"; }; 0D516E820538B9000000000A = { fileEncoding = 4; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; path = MCPConnectionWinCont.m; refType = 4; + sourceTree = "<group>"; }; 0D516E830538B9000000000A = { fileEncoding = 4; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; path = MCPDocument.h; refType = 4; + sourceTree = "<group>"; }; 0D516E840538B9000000000A = { fileEncoding = 4; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; path = MCPDocument.m; refType = 4; + sourceTree = "<group>"; }; 0D516E850538B9010000000A = { *************** *** 493,526 **** --- 518,561 ---- isa = PBXTargetDependency; target = 0867D69CFE84028FC02AAC07; + targetProxy = 95EC05DA055FEA060052E544; }; 0D6DC6F804F03DE20025C233 = { isa = PBXTargetDependency; target = 0DA7207E04EE8A99002E9126; + targetProxy = 95EC05D7055FEA060052E544; }; 0D6DC6F904F03DE40025C233 = { isa = PBXTargetDependency; target = 0DA7208504EE8C3F002E9126; + targetProxy = 95EC05D9055FEA060052E544; }; 0D6DC6FA04F03DE60025C233 = { isa = PBXTargetDependency; target = 0DCFFE7404EE9B4400AD80EC; + targetProxy = 95EC05D8055FEA060052E544; }; 0D82DD6904F0D92100B97554 = { fileEncoding = 4; isa = PBXFileReference; + lastKnownFileType = text.html; path = gpl.html; refType = 4; + sourceTree = "<group>"; }; 0D82DD6A04F0D92100B97554 = { fileEncoding = 4; isa = PBXFileReference; + lastKnownFileType = text; path = gpl.txt; refType = 4; + sourceTree = "<group>"; }; 0D82DD6B04F0D92100B97554 = { fileEncoding = 4; isa = PBXFileReference; + lastKnownFileType = text; path = README_BIN; refType = 4; + sourceTree = "<group>"; }; 0DA7207904EE8A99002E9126 = { *************** *** 662,668 **** --- 697,706 ---- }; 0DA7207F04EE8A99002E9126 = { + explicitFileType = wrapper.framework; + fallbackIsa = PBXFileReference; isa = PBXFrameworkReference; path = SMySQL_static.framework; refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; }; 0DA7208004EE8C3F002E9126 = { *************** *** 766,770 **** isa = PBXFrameworkTarget; name = SMySQL_bundled; ! productInstallPath = "$(LOCAL_LIBRARY_DIR)/Frameworks"; productName = SMySQL_bundled; productReference = 0DA7208604EE8C3F002E9126; --- 804,808 ---- isa = PBXFrameworkTarget; name = SMySQL_bundled; ! productInstallPath = "@executable_path/../Frameworks"; productName = SMySQL_bundled; productReference = 0DA7208604EE8C3F002E9126; *************** *** 804,810 **** --- 842,851 ---- }; 0DA7208604EE8C3F002E9126 = { + explicitFileType = wrapper.framework; + fallbackIsa = PBXFileReference; isa = PBXFrameworkReference; path = SMySQL_bundled.framework; refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; }; 0DA7208704EE8DA3002E9126 = { *************** *** 821,853 **** --- 862,905 ---- path = mysql_bins; refType = 2; + sourceTree = SOURCE_ROOT; }; 0DA7209904EE8F79002E9126 = { isa = PBXFileReference; + lastKnownFileType = archive.ar; path = libmysqlclient.a; refType = 4; + sourceTree = "<group>"; }; 0DA7209A04EE8F79002E9126 = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; path = mysql_com.h; refType = 4; + sourceTree = "<group>"; }; 0DA7209B04EE8F79002E9126 = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; path = mysql_embed.h; refType = 4; + sourceTree = "<group>"; }; 0DA7209C04EE8F79002E9126 = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; path = mysql_version.h; refType = 4; + sourceTree = "<group>"; }; 0DA7209D04EE8F79002E9126 = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; path = mysql.h; refType = 4; + sourceTree = "<group>"; }; 0DA7209F04EE8F79002E9126 = { *************** *** 985,991 **** --- 1037,1045 ---- 0DA720B104EE964F002E9126 = { isa = PBXFileReference; + lastKnownFileType = "compiled.mach-o.dylib"; name = libmysqlclient.12.0.0.dylib; path = /usr/local/lib/mysql/libmysqlclient.12.0.0.dylib; refType = 0; + sourceTree = "<absolute>"; }; 0DA720B204EE964F002E9126 = { *************** *** 998,1003 **** --- 1052,1059 ---- fileEncoding = 4; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; path = SMySQL_bundled.h; refType = 4; + sourceTree = "<group>"; }; 0DB9ADBD05388B160000000A = { *************** *** 1013,1018 **** --- 1069,1076 ---- fileEncoding = 4; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; path = SMySQL_static.h; refType = 4; + sourceTree = "<group>"; }; 0DB9ADBF05388B2A0000000A = { *************** *** 1027,1039 **** --- 1085,1101 ---- 0DCAF5A304FD176800A8C863 = { isa = PBXFileReference; + lastKnownFileType = "compiled.mach-o.dylib"; name = libcrypto.0.9.dylib; path = /usr/lib/libcrypto.0.9.dylib; refType = 0; + sourceTree = "<absolute>"; }; 0DCAF5A604FD177F00A8C863 = { isa = PBXFileReference; + lastKnownFileType = "compiled.mach-o.dylib"; name = libssl.0.9.dylib; path = /usr/lib/libssl.0.9.dylib; refType = 0; + sourceTree = "<absolute>"; }; 0DCAF5A904FD181F00A8C863 = { *************** *** 1071,1086 **** --- 1133,1153 ---- path = CLI_Test; refType = 4; + sourceTree = "<group>"; }; 0DCEFA2104EEADEB00F30895 = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = text; path = gpl.txt; refType = 4; + sourceTree = "<group>"; }; 0DCEFA2204EEADEB00F30895 = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; path = main.m; refType = 4; + sourceTree = "<group>"; }; 0DCEFA2304EEAE0D00F30895 = { *************** *** 1093,1104 **** --- 1160,1175 ---- fileEncoding = 4; isa = PBXFileReference; + lastKnownFileType = text; path = README.txt; refType = 4; + sourceTree = "<group>"; }; 0DCEFA2504EEAF1600F30895 = { fileEncoding = 4; isa = PBXFileReference; + lastKnownFileType = text; path = Make_DB_and_table.mysql; refType = 4; + sourceTree = "<group>"; }; 0DCEFA2604EEAF6800F30895 = { *************** *** 1111,1128 **** --- 1182,1205 ---- fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = text; path = README; refType = 4; + sourceTree = "<group>"; }; 0DCEFD9A04EEC2B800F30895 = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = text; path = TO_DO; refType = 4; + sourceTree = "<group>"; }; 0DCEFD9B04EEC2B800F30895 = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = text; path = TO_INSTALL; refType = 4; + sourceTree = "<group>"; }; 0DCEFD9C04EEC99E00F30895 = { *************** *** 1136,1211 **** --- 1213,1313 ---- path = MCPApplicationKit; refType = 4; + sourceTree = "<group>"; }; 0DCFFE3904EE97AE00AD80EC = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; path = MCPConnection.h; refType = 4; + sourceTree = "<group>"; }; 0DCFFE3A04EE97AE00AD80EC = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; path = MCPConnection.m; refType = 4; + sourceTree = "<group>"; }; 0DCFFE3B04EE97AE00AD80EC = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; path = MCPFastQueries.h; refType = 4; + sourceTree = "<group>"; }; 0DCFFE3C04EE97AE00AD80EC = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; path = MCPFastQueries.m; refType = 4; + sourceTree = "<group>"; }; 0DCFFE3D04EE97AE00AD80EC = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; path = MCPNull.h; refType = 4; + sourceTree = "<group>"; }; 0DCFFE3E04EE97AE00AD80EC = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; path = MCPNull.m; refType = 4; + sourceTree = "<group>"; }; 0DCFFE3F04EE97AE00AD80EC = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; path = MCPResult.h; refType = 4; + sourceTree = "<group>"; }; 0DCFFE4004EE97AE00AD80EC = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; path = MCPResult.m; refType = 4; + sourceTree = "<group>"; }; 0DCFFE4104EE97AE00AD80EC = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; path = MCPResultPlus.h; refType = 4; + sourceTree = "<group>"; }; 0DCFFE4204EE97AE00AD80EC = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; path = MCPResultPlus.m; refType = 4; + sourceTree = "<group>"; }; 0DCFFE4304EE97AE00AD80EC = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; path = SMySQL.h; refType = 4; + sourceTree = "<group>"; }; 0DCFFE4404EE97AE00AD80EC = { fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; path = SMySQLConstants.h; refType = 4; + sourceTree = "<group>"; }; 0DCFFE4504EE97AE00AD80EC = { *************** *** 1473,1478 **** --- 1575,1582 ---- fileEncoding = 30; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; path = my_alloc.h; refType = 4; + sourceTree = "<group>"; }; 0DCFFE6A04EE98F400AD80EC = { *************** *** 1496,1502 **** --- 1600,1608 ---- 0DCFFE6C04EE99C300AD80EC = { isa = PBXFileReference; + lastKnownFileType = "compiled.mach-o.dylib"; name = libz.1.1.3.dylib; path = /usr/lib/libz.1.1.3.dylib; refType = 0; + sourceTree = "<absolute>"; }; 0DCFFE6D04EE99C300AD80EC = { *************** *** 1557,1561 **** OTHER_CFLAGS = "-faltivec -fno-coalesce"; OTHER_REZFLAGS = ""; ! PRODUCT_NAME = CLI_Test.command; PROFILING_CODE = YES; REZ_EXECUTABLE = YES; --- 1663,1667 ---- OTHER_CFLAGS = "-faltivec -fno-coalesce"; OTHER_REZFLAGS = ""; ! PRODUCT_NAME = CLI_Test; PROFILING_CODE = YES; REZ_EXECUTABLE = YES; *************** *** 1573,1579 **** }; 0DCFFE7504EE9B4400AD80EC = { isa = PBXExecutableFileReference; ! path = CLI_Test.command; refType = 3; }; 0DCFFE7704EE9BBA00AD80EC = { --- 1679,1688 ---- }; 0DCFFE7504EE9B4400AD80EC = { + explicitFileType = "compiled.mach-o.executable"; + fallbackIsa = PBXFileReference; isa = PBXExecutableFileReference; ! path = CLI_Test; refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; }; 0DCFFE7704EE9BBA00AD80EC = { *************** *** 1586,1589 **** --- 1695,1699 ---- isa = PBXTargetDependency; target = 0DA7207E04EE8A99002E9126; + targetProxy = 95EC05DB055FEA060052E544; }; 0DE4C0FF04FC066E00A8C863 = { *************** *** 1636,1639 **** --- 1746,1750 ---- 0DEFA05504F0318B00A68F01, 0DEFA05604F0318B00A68F01, + 959A3B2105F2A514008C6B3F, ); buildSettings = { *************** *** 1688,1694 **** --- 1799,1808 ---- }; 0DEFA05804F0318B00A68F01 = { + explicitFileType = wrapper.cfbundle; + fallbackIsa = PBXFileReference; isa = PBXBundleReference; path = Prepare_Distributions.bundle; refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; }; 0DEFA05904F0336400A68F01 = { *************** *** 1696,1707 **** files = ( ); - generatedFileNames = ( - ); isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nCP=\"cp -r\"\nWORK_DIR=\"$TARGET_BUILD_DIR/Distributions\"\n\nBASE_DIST_NAME=\"SMySQL\"\nVERSION_DIST=\"2.2.2\"\n\nSOURCE_FILES=\"MCPConnection.h MCPConnection.m MCPFastQueries.h MCPFastQueries.m MCPNull.h MCPNull.m MCPResult.h MCPResult.m MCPResultPlus.h MCPResultPlus.m SMySQL.h SMySQLConstants.h SMySQL_Prefix.h README TO_DO TO_INSTALL gpl.txt gpl.html mysql_bins CLI_Test SMySQL.pbproj\"\n\nBIN_FILES=\"SMySQL.framework SMySQL_static.framework SMySQL_bundled.framework CLI_Test.command\"\n\nrm -rf \"$WORK_DIR\"\n$MKDIRS \"$WORK_DIR\"\ncd \"$WORK_DIR\"\n\n#cat - > foo.txt <<EOF\n#This Foo Bar saying Hello World...\n#EOF\n\n# Preparing the source distribution:\nSOURCE_DIST_NAME=\"${BASE_DIST_NAME}_src_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Sources_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_SOURCES=`hdid -nomount Sources_Temp.dmg`\nnewfs_hfs -v \"$SOURCE_DIST_NAME\" $DEV_SOURCES\nhdiutil eject $DEV_SOURCES\n# Mount in writable way:\nhdid Sources_Temp.dmg > mount_source.log\nDEV_SOURCES=`awk '{print $1}' mount_source.log`\nVOL_SOURCES=`awk '{print $2}' mount_source.log`\n# Copy the sources to the source volume...\ncd \"$SRCROOT\"\n$CP $SOURCE_FILES $VOL_SOURCES\nfind $VOL_SOURCES -name 'CVS' -exec rm -rf {} \\;\n# Make a Tar/gz version of the distribution...\ncd $VOL_SOURCES\ncd ..\ngnutar -cvzf \"${WORK_DIR}/${SOURCE_DIST_NAME}.tgz\" ${SOURCE_DIST_NAME}\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_SOURCES\nhdiutil convert -format UDZO Sources_Temp.dmg -o ${SOURCE_DIST_NAME}.dmg\n\n# Preparing the binary distribution:\nBINS_DIST_NAME=\"${BASE_DIST_NAME}_bin_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Bins_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_BINS=`hdid -nomount Bins_Temp.dmg`\nnewfs_hfs -v \"$BINS_DIST_NAME\" $DEV_BINS\nhdiutil eject $DEV_BINS\n# Mount in writable way:\nhdid Bins_Temp.dmg > mount_bin.log\nDEV_BINS=`awk '{print $1}' mount_bin.log`\nVOL_BINS=`awk '{print $2}' mount_bin.log`\n# Copy the sources to the source volume...\ncd \"$TARGET_BUILD_DIR\"\n$CP $BIN_FILES $VOL_BINS\n$CP ${SRCROOT}/README_BIN ${VOL_BINS}/README \n$CP \"${SRCROOT}/CLI_Test/README.txt\" ${VOL_BINS}/CLI_Test_README\n$CP \"${SRCROOT}/CLI_Test/Make_DB_and_table.mysql\" ${VOL_BINS}/\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_BINS\nhdiutil convert -format UDZO Bins_Temp.dmg -o ${BINS_DIST_NAME}.dmg\n\n\n# Clean_up:\nrm -f Sources_Temp.dmg\nrm -f mount_source.log\nrm -f Bins_Temp.dmg\nrm -f mount_bin.log\n\necho Everything will be in : $WORK_DIR\n"; }; //0D0 --- 1810,1817 ---- files = ( ); isa = PBXShellScriptBuildPhase; runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nCP=\"cp -r\"\nWORK_DIR=\"$TARGET_BUILD_DIR/Distributions\"\n\nBASE_DIST_NAME=\"SMySQL\"\nVERSION_DIST=\"2.2.2\"\n\nSOURCE_FILES=\"CLI_Test MCPFoundationKit MCPApplicationKit SMySQLConstants.h SMySQL_Prefix.h README TO_DO TO_INSTALL gpl.txt gpl.html mysql_bins CLI_Test SMySQL.pbproj\"\n\nBIN_FILES=\"SMySQL.framework SMySQL_static.framework SMySQL_bundled.framework CLI_Test\"\n\nrm -rf \"$WORK_DIR\"\n$MKDIRS \"$WORK_DIR\"\ncd \"$WORK_DIR\"\n\n#cat - > foo.txt <<EOF\n#This Foo Bar saying Hello World...\n#EOF\n\n# Preparing the source distribution:\nSOURCE_DIST_NAME=\"${BASE_DIST_NAME}_src_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Sources_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_SOURCES=`hdid -nomount Sources_Temp.dmg`\nnewfs_hfs -v \"$SOURCE_DIST_NAME\" $DEV_SOURCES\nhdiutil eject $DEV_SOURCES\n# Mount in writable way:\nhdid Sources_Temp.dmg > mount_source.log\nDEV_SOURCES=`awk '{print $1}' mount_source.log`\nVOL_SOURCES=`awk '{print $2}' mount_source.log`\n# Copy the sources to the source volume...\ncd \"$SRCROOT\"\n$CP $SOURCE_FILES $VOL_SOURCES\nfind $VOL_SOURCES -name 'CVS' -exec rm -rf {} \\;\n# Make a Tar/gz version of the distribution...\ncd $VOL_SOURCES\ncd ..\ngnutar -cvzf \"${WORK_DIR}/${SOURCE_DIST_NAME}.tgz\" ${SOURCE_DIST_NAME}\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_SOURCES\nhdiutil convert -format UDZO Sources_Temp.dmg -o ${SOURCE_DIST_NAME}.dmg\n\n# Preparing the binary distribution:\nBINS_DIST_NAME=\"${BASE_DIST_NAME}_bin_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Bins_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_BINS=`hdid -nomount Bins_Temp.dmg`\nnewfs_hfs -v \"$BINS_DIST_NAME\" $DEV_BINS\nhdiutil eject $DEV_BINS\n# Mount in writable way:\nhdid Bins_Temp.dmg > mount_bin.log\nDEV_BINS=`awk '{print $1}' mount_bin.log`\nVOL_BINS=`awk '{print $2}' mount_bin.log`\n# Copy the sources to the source volume...\ncd \"$TARGET_BUILD_DIR\"\n$CP $BIN_FILES $VOL_BINS\n$CP ${SRCROOT}/README_BIN ${VOL_BINS}/README\n$CP \"${SRCROOT}/CLI_Test/README.txt\" ${VOL_BINS}/CLI_Test_README\n$CP \"${SRCROOT}/CLI_Test/Make_DB_and_table.mysql\" ${VOL_BINS}/\nmv \"${VOL_BINS}/CLI_Test\" \"${VOL_BINS}/CLI_Test.command\"\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_BINS\nhdiutil convert -format UDZO Bins_Temp.dmg -o ${BINS_DIST_NAME}.dmg\n\n\n# Clean_up:\nrm -f Sources_Temp.dmg\nrm -f mount_source.log\nrm -f Bins_Temp.dmg\nrm -f mount_bin.log\n\necho Everything will be in : $WORK_DIR\n"; }; //0D0 *************** *** 1722,1731 **** --- 1832,1845 ---- name = "Linked Frameworks"; refType = 4; + sourceTree = "<group>"; }; 1058C7B1FEA5585E11CA2CBB = { + fallbackIsa = PBXFileReference; isa = PBXFrameworkReference; + lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; refType = 0; + sourceTree = "<absolute>"; }; 1058C7B2FEA5585E11CA2CBB = { *************** *** 1737,1740 **** --- 1851,1855 ---- name = "Other Frameworks"; refType = 4; + sourceTree = "<group>"; }; 1058C7B3FEA5585E11CA2CBB = { *************** *** 1761,1770 **** --- 1876,1888 ---- name = "Other Sources"; refType = 4; + sourceTree = "<group>"; }; 32DBCF5E0370ADEE00C91783 = { fileEncoding = 4; isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; path = SMySQL_Prefix.h; refType = 4; + sourceTree = "<group>"; }; 32DBCF5F0370ADEE00C91783 = { *************** *** 1777,1780 **** --- 1895,1952 ---- }; }; + //320 + //321 + //322 + //323 + //324 + //950 + //951 + //952 + //953 + //954 + 959A3B2105F2A514008C6B3F = { + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + isa = PBXCopyFilesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 95EC05D7055FEA060052E544 = { + containerPortal = 0867D690FE84028FC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 0DA7207E04EE8A99002E9126; + remoteInfo = SMySQL_static; + }; + 95EC05D8055FEA060052E544 = { + containerPortal = 0867D690FE84028FC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 0DCFFE7404EE9B4400AD80EC; + remoteInfo = CLI_Test; + }; + 95EC05D9055FEA060052E544 = { + containerPortal = 0867D690FE84028FC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 0DA7208504EE8C3F002E9126; + remoteInfo = SMySQL_bundled; + }; + 95EC05DA055FEA060052E544 = { + containerPortal = 0867D690FE84028FC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 0867D69CFE84028FC02AAC07; + remoteInfo = SMySQL; + }; + 95EC05DB055FEA060052E544 = { + containerPortal = 0867D690FE84028FC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 0DA7207E04EE8A99002E9126; + remoteInfo = SMySQL_static; + }; }; rootObject = 0867D690FE84028FC02AAC07; |
From: Serge C. <ser...@us...> - 2003-10-11 22:32:45
|
Update of /cvsroot/mysql-cocoa/SMySQL/MCPApplicationKit In directory sc8-pr-cvs1:/tmp/cvs-serv21913/MCPApplicationKit Added Files: MCPConnectionWinCont.h MCPConnectionWinCont.m MCPDocument.h MCPDocument.m Log Message: Added first draft of classes to help making a GUI application using MySQL to store its 'document'. Start passing to version 2.2.2 (maybe should go to 2.3 when GUI part is checked). 2003-10-11; Serge Cohen. --- NEW FILE: MCPConnectionWinCont.h --- // // MCPConnectionWinCont.h // Vacations // // Created by Serge Cohen on Mon May 26 2003. // Copyright (c) 2003 ARP/wARP. All rights reserved. // #import <AppKit/AppKit.h> // External classes, forward reference. @class MCPDocument; @interface MCPConnectionWinCont : NSWindowController { IBOutlet NSTextField *mHostField; IBOutlet NSTextField *mLoginField; IBOutlet NSTextField *mDatabaseField; IBOutlet NSTextField *mPortField; IBOutlet NSPanel *mPasswordSheet; IBOutlet NSTextField *mPasswordField; // MCPDocument *mMCPDocument; } /*" Actions for Interface Builder "*/ /*" For the clear text information. "*/ - (IBAction)doGo:(id) sender; - (IBAction)doCancel:(id) sender; - (IBAction)modifyInstance:(id) sender; /*" For the password. "*/ - (IBAction) passwordClick:(id) sender; - (IBAction) askPassword:(id) sender; - (NSString *) Password; /*" Overrides of NSWindowController method, to adapt to this Window Controller. "*/ - (id)init; - (void)dealloc; - (void)windowDidLoad; @end --- NEW FILE: MCPConnectionWinCont.m --- // // MCPConnectionWinCont.m // Vacations // // Created by Serge Cohen on Mon May 26 2003. // Copyright (c) 2003 ARP/wARP. All rights reserved. // // Referencing self: #import "MCPConnectionWinCont.h" // Other headers required by MCPDocument: #import "MCPDocument.h" // External headers required: #import <SMySQL/SMySQL.h> @implementation MCPConnectionWinCont /*" This class is the WindowController for the window asking parameters of connection to the user. It is responsible to set the appropriate value of the MCPDocument instance variables. "*/ - (IBAction)doGo:(id) sender /*" What to do when the user clicks on the Go button of the window. "*/ { MCPDocument *theDoc = (MCPDocument *)[self document]; // Send update message to the previously setted element [[self window] endEditingFor:[[self window] firstResponder]]; // Check that the proper fields are set if (([[theDoc MCPHost] isEqualToString:@""]) || ([[theDoc MCPLogin] isEqualToString:@""]) || ([[theDoc MCPDatabase] isEqualToString:@""]) || ([theDoc MCPHost] == nil) || ([theDoc MCPLogin] == nil) || ([theDoc MCPDatabase] == nil)) { NSBeginAlertSheet(@"", @"OK", nil, nil, [sender window], self, nil, nil, self, @"Unable to connect, one of the fields Host, Login or Database might be empty!"); return; } [theDoc setMCPConInfoNeeded:NO]; return; } - (IBAction)doCancel:(id) sender /*" What to do when the user clicks on the Cancel button of the window. "*/ { [[self window] performClose:self]; return; } - (IBAction)modifyInstance:(id) sender /*" Action to take when the user modify one of the entry of the New Connection dialog. "*/ { MCPDocument *theDoc = (MCPDocument *)[self document]; if (sender == mHostField) { [theDoc setMCPHost:[sender stringValue]]; } else if (sender == mLoginField) { [theDoc setMCPLogin:[sender stringValue]]; } else if (sender == mPortField) { [theDoc setMCPPort:[sender intValue]]; } else if (sender == mDatabaseField) { [theDoc setMCPDatabase:[sender stringValue]]; } else { // Where is the action coming from? NSLog (@"modifyInstance from an unknown sender : %@\n", sender); } return; } /*" For the password. "*/ - (IBAction) passwordClick:(id) sender { [[NSApplication sharedApplication] endSheet:[sender window] returnCode:[sender tag]]; return; } - (IBAction) askPassword:(id) sender { [[NSApplication sharedApplication] beginSheet:mPasswordSheet modalForWindow:[self window] modalDelegate:[self document] didEndSelector:@selector(MCPpasswordSheetDidEnd:returnCode:contextInfo:) contextInfo:self]; return; } - (NSString *) Password /*" Send the password (from the NSPasswordField), this method puts the password in the answer (as an autoreleased object), and DELETE it from the NSSecureTextField. "*/ { NSString *thePass = [NSString stringWithString:[mPasswordField stringValue]]; [mPasswordField setStringValue:@""]; return thePass; } /*" Overrides of NSWindowController method, to adapt to this Window Controller. "*/ - (id)init /*" When inited, open the proper window... "*/ { self = [super initWithWindowNibName:@"MCPConnectionWindow"]; return self; } - (void)dealloc /*" Gives notification that the WindowController is being deallocated (is it really useful? not yet!). "*/ { [[NSNotificationCenter defaultCenter] removeObserver:self]; [super dealloc]; } - (void)windowDidLoad /*" What to do once the window has been loaded : update the fields... "*/ { MCPDocument *theDoc = (MCPDocument *)[self document]; [super windowDidLoad]; // [self showWindow:self]; if ([theDoc MCPHost]) { [mHostField setStringValue:[theDoc MCPHost]]; } if ([theDoc MCPLogin]) { [mLoginField setStringValue:[theDoc MCPLogin]]; } if ([theDoc MCPDatabase]) { [mDatabaseField setStringValue:[theDoc MCPDatabase]]; } [mPortField setIntValue:[theDoc MCPPort]]; return; } @end --- NEW FILE: MCPDocument.h --- // // MCPDocument.h // Vacations // // Created by Serge Cohen on Sat May 24 2003. // Copyright (c) 2003 ARP/wARP. All rights reserved. // #import <Cocoa/Cocoa.h> // External classes, forward reference. @class MCPConnection; @class MCPResult; @interface MCPDocument : NSDocument { BOOL MCPConInfoNeeded, MCPPassNeeded; NSString *MCPHost, *MCPLogin, *MCPDatabase; unsigned int MCPPort; MCPConnection *MCPConnect; // Handling of windows. NSWindowController *MCPMainWinCont; Class MCPConnectedWinCont; /*" Window controller used once the connection is established (As a class). "*/ } /*" Class Maintenance "*/ + (void) initialize; // Standards /*" Initialisation and deallocation "*/ - (id) init; - (void) dealloc; /*" Connection to the databse related "*/ - (MCPResult *) MCPqueryString:(NSString *) query; - (unsigned int) MCPinsertRow:(NSString *) insert; // Accessors /*" Accessors to the parameters of the connection "*/ - (void) setMCPHost:(NSString *) theHost; - (void) setMCPLogin:(NSString *) theLogin; - (void) setMCPDatabase:(NSString *) theDatabase; - (void) setMCPPort:(unsigned int) thePort; - (void) setMCPConInfoNeeded:(BOOL) theConInfoNeeded; - (NSString *) MCPHost; - (NSString *) MCPLogin; - (NSString *) MCPDatabase; - (unsigned int) MCPPort; - (BOOL) MCPConInfoNeeded; - (BOOL) MCPPassNeeded; - (BOOL) MCPisConnected; - (MCPConnection *) MCPConnect; /*" Accessor to the window generated once the connection is established "*/ - (void) setMCPConnectedWinCont:(Class) theConnectedWinCont; - (Class) MCPConnectedWinCont; /*" Accessors to the main window (connection or connected window), through their window controller. "*/ - (NSWindowController *) MCPMainWinCont; /*" Overrides of NSDocument methods. "*/ // Managing the document in file format - (NSData *) dataRepresentationOfType:(NSString *) aType; - (BOOL)loadDataRepresentation:(NSData *) data ofType:(NSString *)aType; // Managing NSWindowController(s) - (NSArray *) makeWindowControllers; - (void) windowControllerDidLoadNib:(NSWindowController *) aController; /*" Method to take care of the password sheet. "*/ // Callback from sheet - (void) MCPpasswordSheetDidEnd:(NSWindow *) sheet returnCode:(int) returnCode contextInfo:(void *) contextInfo; @end --- NEW FILE: MCPDocument.m --- // // MCPDocument.m // Vacations // // Created by Serge Cohen on Sat May 24 2003. // Copyright (c) 2003 ARP/wARP. All rights reserved. // // Referencing self: #import "MCPDocument.h" // Other headers required by MCPDocument: #import "MCPConnectionWinCont.h" // External headers required: #import "MCPConnection.h" #import "MCPResult.h" @implementation MCPDocument #pragma mark Class Maintenance + (void) initialize { if (self == [MCPDocument class]) { [self setVersion:010000]; // Format Ma.Mi.Re -> MaMiRe } } #pragma mark Initialisation and deallocation - (id) init /*" Initialisation of the MCPDocument object, by default every thing is setted to null (or empty), accordingly to that the mConInfoNeeded is setted to YES (true): the connection information (parameters) ARE needed. "*/ { if (self = [super init]) { MCPConInfoNeeded = YES; MCPPassNeeded = YES; MCPHost = MCPLogin = MCPDatabase = @""; MCPPort = 0; MCPConnect = nil; MCPMainWinCont = nil; MCPConnectedWinCont = nil; } return self; } - (void) dealloc /*" Deallocation of the object... autorelease all the members. "*/ { if (MCPHost) { [MCPHost autorelease]; } if (MCPLogin) { [MCPLogin autorelease]; } if (MCPDatabase) { [MCPDatabase autorelease]; } if (MCPConnect) { [MCPConnect autorelease]; } [super dealloc]; return; } #pragma mark Connection to the databse - (MCPResult *) MCPqueryString:(NSString *) query /*" Send a query to the MCPConnection instance variable. For insert queries, one should prefer the insert: method, which return the primary key (auto_increment) of the new row. "*/ { if (MCPConnect == nil) { #warning Should throw an exception here. // Should throw an exception, not possible to do a query without a connection // Maybe, can try to connect first (check connection param) and if still not connected // throw the exception. return nil; } return [MCPConnect queryString: query]; } - (unsigned int) MCPinsertRow:(NSString *) insert /*" Method to use to insert a new row in a table, will return the primary key (auto_increment column) of the new record. "*/ { #warning Do we have to check for a proper insert statement? if (MCPConnect == nil) { return (unsigned int)0; } [MCPConnect queryString: insert]; return (unsigned int)[MCPConnect insertId]; } #pragma mark Accessors #pragma mark Accessors for Connect. info - (void) setMCPHost:(NSString *) theHost /*" Sets the name of the host to which to connect (the one which the db server runs) (doesn't accept changes once MCPConInfoNeeded is NO). "*/ { if (MCPHost && [MCPHost isEqualToString:theHost]) { return; } if (MCPConInfoNeeded) { if (MCPHost) { [MCPHost autorelease]; } // NSLog (@"In setHost: modification was %@ becomes %@\n", mHost, theHost); MCPHost = [[NSString stringWithString:theHost] retain]; [self updateChangeCount:NSChangeDone]; } else { NSLog(@"Tryed to modify MCPHost from MCPDocument whereas MCPConInfoNeeded = NO\n"); } return; } - (void) setMCPLogin:(NSString *) theLogin /*" Sets the name of the database to use on the db server (doesn't accept changes once MCPConInfoNeeded is NO). "*/ { if (MCPLogin && [MCPLogin isEqualToString:theLogin]) { return; } if (MCPConInfoNeeded) { if (MCPLogin) { [MCPLogin autorelease]; } // NSLog (@"In setLogin: modification was %@ becomes %@\n", mLogin, theLogin); MCPLogin = [[NSString stringWithString:theLogin] retain]; [self updateChangeCount:NSChangeDone]; } else { NSLog(@"Tryed to modify MCPLogin from MCPDocument whereas MCPConInfoNeeded = NO\n"); } return; } - (void) setMCPDatabase:(NSString *) theDatabase /*" Sets the name of the database to use on the db server (doesn't accept changes once mConInfoNeeded is NO). "*/ { if (MCPDatabase && [MCPDatabase isEqualToString:theDatabase]) { return; } if (MCPConInfoNeeded) { if (MCPDatabase) { [MCPDatabase autorelease]; } // NSLog (@"In setDatabase: modification was %@ becomes %@\n", mDatabase, theDatabase); MCPDatabase = [[NSString stringWithString:theDatabase] retain]; [self updateChangeCount:NSChangeDone]; } else { NSLog(@"Tryed to modify MCPDatabase from MCPDocument whereas MCPConInfoNeeded = NO\n"); } return; } - (void) setMCPPort:(unsigned int) thePort /*" Set the port to use to connect to the database server (doesn't accept changes once mConInfoNeeded is NO). "*/ { if (MCPPort == thePort) { return; } if (MCPConInfoNeeded) { // NSLog (@"In setPort: modification was %u becomes %u\n", mPort, thePort); MCPPort = (thePort < 0) ? thePort : 0; [self updateChangeCount:NSChangeDone]; } else { NSLog(@"Tryed to modify MCPPort from MCPDocument whereas MCPConInfoNeeded = NO\n"); } return; } - (void) setMCPConInfoNeeded:(BOOL) theConInfoNeeded /*" VERY IMPORTANT method! Change the value of mConInfoNeeded AND toggle the states of the object, removing appropriate window and displaying other(s) ... "*/ { NSLog (@"In setMCPConInfoNeeded... value is %@ :\n", (theConInfoNeeded)? @"YES" : @"NO"); if (MCPConInfoNeeded == theConInfoNeeded) { NSLog(@"Useless call to setMCPConInfoNeeded\n"); return; } if (MCPConInfoNeeded = theConInfoNeeded) { // here we have to remove the ConnectedWindow window(s) and display the MCPConnectionWindow window NSArray *theArray; NSWindowController *theWinCont; unsigned int i; MCPPassNeeded = YES; if ([MCPConnectionWinCont class] == [MCPMainWinCont class]) { // If the present main window is already a MCPConnectionWinCont, don't touch it... } else { // Otherwise, we were using a ConnectdWinCont, then turn back to a MCPConnectionWinCont window... theWinCont = [[MCPConnectionWinCont allocWithZone:[self zone]] init]; [theWinCont setShouldCloseDocument:YES]; [self addWindowController: theWinCont]; [theWinCont showWindow:self]; MCPMainWinCont = theWinCont; [theWinCont release]; theArray = [NSArray arrayWithArray:[self windowControllers]]; NSLog(@"In setConInfoNeeded, closing browser windows. Number of window attached to the doc : %i\n", [theArray count]); for (i=0; i<[theArray count]; i++) { theWinCont = [theArray objectAtIndex:i]; if (! [[theWinCont windowNibName] isEqualToString:@"MCPConnectionWindow"]) { // We get the window controller handling the window (browser).. [theWinCont setShouldCloseDocument:NO]; [[theWinCont window] performClose:self]; } } } } else { // here we have to initiate the process of asking the password... MCPPassNeeded = YES; [(MCPConnectionWinCont *)MCPMainWinCont askPassword: self]; } return; } - (NSString *) MCPHost /*" Returns the actual hostname of the used db server. "*/ { return MCPHost; } - (NSString *) MCPLogin /*" Returns the actual login to the used db server. "*/ { return MCPLogin; } - (NSString *) MCPDatabase /*" Returns the actual database name of the used db server. "*/ { return MCPDatabase; } - (unsigned int) MCPPort /*" Returns the port used to connect to the database server (0 means default: from mysql.h -> MYSQL_PORT=3306). "*/ { return MCPPort; } - (BOOL) MCPConInfoNeeded /*" Return the status of the gathering of information for the connection. "*/ { return MCPConInfoNeeded; } - (BOOL) MCPPassNeeded /*" Return the status of the gathering of the password for the connection. "*/ { return MCPPassNeeded; } - (BOOL) MCPisConnected /*" Check if the connection is working. "*/ { if (nil != MCPConnect) { return [MCPConnect checkConnection]; } else { return NO; } } - (MCPConnection *) MCPConnect /*" Return a pointer to the used MCPConnection. SHOULD NOT be used (one should rather use the connection methods : MCPqueryString: or MCPinsertRow:)"*/ { return MCPConnect; } #pragma mark Accessors for Window Controller - (void) setMCPConnectedWinCont:(Class) theConnectedWinCont /*" Use to set the type of NSWindowController to be used for the main window of the document once the connection as been established. "*/ { if (nil == MCPConnect) { MCPConnectedWinCont = theConnectedWinCont; } else { NSLog (@"Tryed to modify the MCPConnectedWinCont class AFTER the connection was established... TO LATE!!\n"); } } - (Class) MCPConnectedWinCont /*" Return the Class object of the class used for the main document window (once the connection to the DB server is established). "*/ { return MCPConnectedWinCont; } #pragma mark Accessors for Main Window - (NSWindowController *) MCPMainWinCont /*" Return the current main window controller for the document (closing this window causes a close of the document). "*/ { return MCPMainWinCont; } #pragma mark Overrides of NSDocument methods - (NSData *) dataRepresentationOfType:(NSString *) aType /*" Return data correspoding to archived dictionary containing the parameters for the connection (except for the password, not saved). "*/ { NSMutableDictionary *theDict = [NSMutableDictionary dictionaryWithCapacity:4]; NSData *theData; NSLog (@"Try to save the connection document under type: %@\n",aType); NSAssert([aType isEqualToString:@"MCP Connection Informations"], @"Unknown type"); [theDict setObject:MCPHost forKey:@"host"]; [theDict setObject:MCPLogin forKey:@"login"]; [theDict setObject:MCPDatabase forKey:@"db"]; [theDict setObject:[NSNumber numberWithInt:MCPPort] forKey:@"port"]; theData = [NSArchiver archivedDataWithRootObject:theDict]; return [NSData dataWithData:theData]; } - (BOOL)loadDataRepresentation:(NSData *) data ofType:(NSString *)aType /*" Load a file containing the connection parameters (except for the password) in the instance of the MCPDocument. "*/ { NSDictionary *theDict; NSLog (@"Try to load the connection document under type: %@\n",aType); NSAssert([aType isEqualToString:@"MCP Connection Informations"], @"Unknown type"); theDict = [NSUnarchiver unarchiveObjectWithData:data]; // NSLog (@"\n\n Reading a file\n"); [self setMCPHost:[theDict objectForKey:@"host"]]; [self setMCPLogin:[theDict objectForKey:@"login"]]; [self setMCPDatabase:[theDict objectForKey:@"db"]]; [self setMCPPort:[[theDict objectForKey:@"port"] intValue]]; [self updateChangeCount:NSChangeCleared]; MCPConInfoNeeded = YES; MCPPassNeeded = YES; return YES; } // Managing NSWindowController(s) - (NSArray *) makeWindowControllers /*" Make the proper window: either the Connection Info window or the main browser window. "*/ { NSWindowController *theWinCont; // NSLog(@"Inside makeWindowControllers\n"); if (MCPConInfoNeeded) { theWinCont = [[MCPConnectionWinCont allocWithZone:[self zone]] init]; [theWinCont setShouldCloseDocument:YES]; MCPMainWinCont = theWinCont; [self addWindowController: theWinCont]; [theWinCont release]; } else if (nil != MCPConnectedWinCont){ theWinCont = [[MCPConnectedWinCont allocWithZone:[self zone]] init]; [theWinCont setShouldCloseDocument:YES]; MCPMainWinCont = theWinCont; [self addWindowController: theWinCont]; [theWinCont showWindow:self]; [theWinCont release]; } return [self windowControllers]; } - (void) windowControllerDidLoadNib:(NSWindowController *) aController /*" What to do when a specific window is loaded: - Nothing for the Connection Info Window (MCPConnectionWindow.nib). - Whatever one wants for another window type. "*/ { [super windowControllerDidLoadNib:aController]; if ([[aController windowNibName] isEqualToString:@"MCPConnectionWindow"] ) { } return; } #pragma mark The Password sheet // Callback from sheet - (void) MCPpasswordSheetDidEnd:(NSWindow *) sheet returnCode:(int) returnCode contextInfo:(void *) contextInfo /*" Method called once the user enterred the password and click Ok (or press return) Try to make a connection (depending of the button clicked), if password is refused, go back to ask connection information. "*/ { NSLog (@"In passwordSheetDidEnd, return code is : %d\n", returnCode); if (returnCode == NSOKButton) { NSString *thePass = [[sheet delegate] Password]; MCPConnect = [[MCPConnection alloc] initToHost:MCPHost withLogin:MCPLogin password:thePass usingPort:MCPPort]; [sheet close]; if ([MCPConnect isConnected]) { if (![MCPConnect selectDB:MCPDatabase]) { [MCPConnect release]; MCPConnect = nil; [self setMCPConInfoNeeded:YES]; NSLog (@"Connection to the server was Ok, but unable to find database : %@\n", MCPDatabase); } else { NSArray *theArray; NSWindowController *theWinCont; unsigned int i; MCPPassNeeded = NO; NSLog (@"Connected to the database... YES!\n"); // [[sheet delegate] refreshResult]; // Change the main window to the ConnectedWinCont: theWinCont = [[MCPConnectedWinCont allocWithZone:[self zone]] init]; [theWinCont setShouldCloseDocument:YES]; [self addWindowController: theWinCont]; [theWinCont showWindow:self]; MCPMainWinCont = theWinCont; [theWinCont release]; theArray = [NSArray arrayWithArray:[self windowControllers]]; NSLog(@"In MCPpasswordSheetDidEnd..., closing new connection window. Number of window attached to the doc : %i\n", [theArray count]); for (i=0; i<[theArray count]; i++) { theWinCont = [theArray objectAtIndex:i]; if ([MCPConnectionWinCont class] == [theWinCont class]) { // We get the window controller handling the ocnnection window (MCPConnectionWindow)... [theWinCont setShouldCloseDocument:NO]; [[theWinCont window] performClose:self]; } } } } else { [MCPConnect release]; MCPConnect = nil; [self setMCPConInfoNeeded:YES]; NSLog (@"Unable to connect to the server, info are: Host %@ , Port %u , User %@\n", MCPHost, MCPPort, MCPLogin); } } else { [sheet close]; [[sheet delegate] Password]; [self setMCPConInfoNeeded:YES]; NSLog (@"The cancel button has been clicked, return to ask info for the connection\n"); } return; } @end |