/usr/include/libecap/host/xaction.h is in libecap2-dev 0.2.0-1ubuntu4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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 | /* (C) 2008 The Measurement Factory */
#ifndef ECAP__HOST_XACTION_H
#define ECAP__HOST_XACTION_H
#include <libecap/common/forward.h>
#include <libecap/common/call.h>
#include <libecap/common/area.h>
#include <libecap/common/options.h>
namespace libecap {
namespace host {
// The host side of the eCAP transaction.
// Adapter::Xaction uses this interface to get a virgin message from the host.
class Xaction: public Callable, public Options {
public:
virtual ~Xaction() {}
// access to messages; these methods throw if the message is missing
virtual Message &virgin() = 0; // request or response, always present
virtual const Message &cause() = 0; // request for the above response
virtual Message &adapted() = 0; // returns useAdapted() message
// adaptation decision making
virtual void useVirgin() = 0; // use virgin; no adaptation
virtual void useAdapted(const shared_ptr<Message> &msg) = 0; // use msg
virtual void blockVirgin() = 0; // block or deny user access
// adapter transaction state notifications
virtual void adaptationDelayed(const Delay &) = 0; // needs time
virtual void adaptationAborted() = 0; // abnormal termination
// virgin body transmission control
virtual void vbDiscard() = 0; // adapter will not look at vb at all
virtual void vbMake() = 0; // adapter may look at vb
virtual void vbStopMaking() = 0; // adapter no longer needs vb
virtual void vbMakeMore() = 0; // adapter must have more vb
virtual void vbPause() {}; // ignored by default
virtual void vbResume() {}; // ignored iff vbPause is
// virgin body content extraction and consumption
virtual Area vbContent(size_type offset, size_type size) = 0;
virtual void vbContentShift(size_type size) = 0; // first size bytes
// TODO: add something like virtual void vbSearch(Searcher &s) = 0;
// adapted body state notification
virtual void noteAbContentDone(bool atEnd) = 0; // successful or not
virtual void noteAbContentAvailable() = 0;
};
} // namespace host
} // namespace libecap
#endif
|