RASCAL_HELPERS

Justin Forest <[email protected]> Fri, 26 Mar 2004 20:27:29 +0300
Newsgroups gmane.comp.misc.faerion.devel
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------050000040603050308010708
Content-Type: text/plain; charset=windows-1251; format=flowed
Content-Transfer-Encoding: 8bit

Ðåøèë, âñ¸ æå, äîáàâèòü íåñêîëüêî âñïîìîãàòåëüíûõ êëàññîâ, êîòîðûå ëè÷íî 
ìíå îáëåã÷àþò æèçíü ïðè íàïèñàíèè òåñòîâûõ ïðèëîæåíèé.  Ïîêà ýòî äâà 
êëàññà äëÿ ïåðåâîäà êîäîâ îøèáîê è àäðåñîâ â òåêñòîâûé âèä, ÷òîáû ïðîùå 
áûëî ñêàðìëèâàòü ôóíêöèÿì òèïà printf.  Åñëè ó êîãî âîçíèêíóò åù¸ èäåè 
íà ýòó òåìó -- ñïèñîê ìîæíî ðàñøèðÿòü.  Ìîæíî, âïðî÷åì, ïîéòè è äàëüøå, 
ñîçäàâ "ñòàíäàðòíûé" êëàññ äëÿ îáëåã÷åíèÿ ðàáîòû ñ äèñïåò÷åðîì 
(âûçûâàþùèé âèðòóàëüíûå ìåòîäû).

Îïðåäåëÿåòñÿ âñ¸ ýòî â ïðîñòðàíñòâå rascal, ðàçóìååòñÿ, òàê ÷òî èìåíà 
ìîæíî íå ïðåôèêñèðîâàòü.

Äóìàþ ñòîèò ñîçäàâàòü òîëüêî êëàññû, íå ïðåäñòàâëÿþùèå êîíêðåòíîé 
àñèíõðîííîé îïåðàöèè.  Ñêàæåì, êëàññ, ïðåäñòàâëÿþùèé ñîáîé "èñõîäÿùåå 
ñîåäèíåíèå", ìíå êàæåòñÿ íåöåëåñîîáðàçíûì, ò.ê. ñëèøêîì îòëè÷íà áóäåò 
ðåàëèçàöèÿ â êàæäîì êîíêðåòíîì ñëó÷àå, "óäîáíûé âñåì" øàáëîí ñîçäàòü 
áóäåò ñëîæíî.  Õîòÿ ãîòîâ äèñêóòèðîâàòü.

--------------050000040603050308010708
Content-Type: text/plain;
 name="helpers.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="helpers.patch"

Index: rascal.h
===================================================================
RCS file: /cvsroot/faerion/rascal/sources/rascal.h,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- rascal.h	26 Mar 2004 16:58:37 -0000	1.32
+++ rascal.h	26 Mar 2004 17:09:31 -0000	1.33
@@ -7,7 +7,7 @@
  *
  * The library is distributed under the terms of GNU LGPL.
  *
- * $Id: rascal.h,v 1.32 2004/03/26 16:58:37 vhex Exp $
+ * $Id: rascal.h,v 1.33 2004/03/26 17:09:31 vhex Exp $
  *
  */
 
@@ -148,4 +148,24 @@
 	rop_write
 };
 
+#if defined(__cplusplus) && defined(RASCAL_HELPERS)
+namespace rascal {
+	class errmsg
+	{
+		char tmp[1024];
+	public:
+		errmsg(rrid_t rid) { rascal_get_errmsg(rid, tmp, sizeof(tmp)); }
+		const char * c_str() const { return tmp; }
+	};
+
+	class hostname
+	{
+		char tmp[256];
+	public:
+		hostname(const sock_t &peer) { rascal_ntoa(&peer.addr, tmp, sizeof(tmp)); }
+		const char * c_str() const { return tmp; }
+	};
+};
+#endif
+
 #endif /* __rascal_h */

--------------050000040603050308010708--



-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click