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