Differences From Artifact [9113e61311]:
- File src/exceptions/OFAddressTranslationFailedException.h — part of check-in [3b97fc3cd9] at 2014-01-04 00:24:08 on branch trunk — Update copyright. (user: js, size: 3323) [annotate] [blame] [check-ins using]
To Artifact [7cb02c2c3b]:
- File
src/exceptions/OFAddressTranslationFailedException.h
— part of check-in
[8d2a5052fd]
at
2014-01-25 17:39:13
on branch trunk
— Generalize stream / socket related exceptions
This is in preparation for adding UDP sockets, as UDP sockets and TCP
sockets have no common superclass, as one is stream-oriented while the
other is packet-oriented.Read and write exceptions are for any object now, as they are useful for
a lot more than just for streams, while the others (bind, listen, etc.)
are for any socket now (the type is id in this case, though, as there is
no common superclass). (user: js, size: 3225) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
18 19 20 21 22 23 24 | #import "OFException.h" #ifndef OF_HAVE_SOCKETS # error No sockets available! #endif | < < | | | | | | | | | | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | #import "OFException.h" #ifndef OF_HAVE_SOCKETS # error No sockets available! #endif /*! * @brief An exception indicating the translation of an address failed. */ @interface OFAddressTranslationFailedException: OFException { id _socket; OFString *_host; int _errNo; } #ifdef OF_HAVE_PROPERTIES @property (readonly, copy) OFString *host; @property (readonly, retain) id socket; @property (readonly) int errNo; #endif /*! * @brief Creates a new, autoreleased address translation failed exception. * * @param socket The socket which could not translate the address * @return A new, autoreleased address translation failed exception */ + (instancetype)exceptionWithSocket: (id)socket; /*! * @brief Creates a new, autoreleased address translation failed exception. * * @param host The host for which translation was requested * @return A new, autoreleased address translation failed exception */ + (instancetype)exceptionWithHost: (OFString*)host; /*! * @brief Creates a new, autoreleased address translation failed exception. * * @param host The host for which translation was requested * @param socket The socket which could not translate the address * @return A new, autoreleased address translation failed exception */ + (instancetype)exceptionWithHost: (OFString*)host socket: (id)socket; /*! * @brief Initializes an already allocated address translation failed exception. * * @param socket The socket which could not translate the address * @return An initialized address translation failed exception */ - initWithSocket: (id)socket; /*! * @brief Initializes an already allocated address translation failed exception. * * @param host The host for which translation was requested * @return An initialized address translation failed exception */ - initWithHost: (OFString*)host; /*! * @brief Initializes an already allocated address translation failed exception. * * @param host The host for which translation was requested * @param socket The socket which could not translate the address * @return An initialized address translation failed exception */ - initWithHost: (OFString*)host socket: (id)socket; /*! * @brief Returns the host for which the address translation was requested. * * @return The host for which the address translation was requested */ - (OFString*)host; /*! * @brief Returns the socket which could not translate the address. * * @return The socket which could not translate the address */ - (id)socket; /*! * @brief Returns the errno from when the exception was created. * * @return The errno from when the exception was created */ - (int)errNo; @end |