EPICS Base  7.0.8.1
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Classes
ipAddrToAsciiAsynchronous.h File Reference

Convert ip addresses to ASCII asynchronously. More...

#include "osiSock.h"
#include "libComAPI.h"
Include dependency graph for ipAddrToAsciiAsynchronous.h:

Go to the source code of this file.

Classes

class  ipAddrToAsciiCallBack
 Users implement this virtual class to use ipAddrToAsciiTransaction. More...
 
class  ipAddrToAsciiTransaction
 
class  ipAddrToAsciiEngine
 Class which manages creating transactions for converting ipAddr's to ASCII. More...
 

Detailed Description

ipAddrToAsciiEngine is the first class needed to convert an ipAddr to an ASCII address. From the engine, you can use createTransaction() to create a transaction object. The transaction object lets you attach callbacks and convert an address to ASCII.

Example

class ConvertIPAddr: ipAddrToAsciiCallBack
{
public:
epicsEvent complete;
ConvertIPAddr(ipAddrToAsciiEngine & engine, osiSockAddr & addr):
trans(engine.createTransaction())
{
trans.ipAddrToAscii(addr, *this);
}
virtual void transactionComplete (char const * node) override
{
printf("Address is %s\n", node);
complete.signal();
}
virtual void show(unsigned level) override const
{
printf("This is a ConvertIPAddr class object.");
}
virtual ~ConvertIPAddr()
{
trans.release();
}
};
addr.ia.sin_family = AF_INET;
addr.ia.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
addr.ia.sin_port = htons(8080);
ConvertIPAddr result(engine, addr);
// Do other work here before waiting on the result
result.complete.wait(2.0);
engine.release();

Definition in file ipAddrToAsciiAsynchronous.h.