dmlite  0.6
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Friends | List of all members
dmlite::IODriver Class Referenceabstract

IO Driver. More...

#include <io.h>

Inheritance diagram for dmlite::IODriver:
Inheritance graph
[legend]
Collaboration diagram for dmlite::IODriver:
Collaboration graph
[legend]

Public Types

enum  { kInsecure = 010 }
 

Public Member Functions

virtual ~IODriver ()
 Virtual destructor. More...
 
virtual std::string getImplId (void) const =0 throw ()
 String ID of the implementation. More...
 
virtual IOHandlercreateIOHandler (const std::string &pfn, int flags, const Extensible &extras, mode_t mode=0660)
 
virtual void doneWriting (const Location &loc)
 
- Public Member Functions inherited from dmlite::BaseInterface
virtual ~BaseInterface ()
 Virtual destructor. More...
 
- Public Member Functions inherited from dmlite::BaseFactory
virtual ~BaseFactory ()
 Virtual destructor. More...
 
virtual void configure (const std::string &key, const std::string &value)
 

Static Public Member Functions

static IOHandlercreateIOHandler (IODriver *factory, const std::string &pfn, int flags, const Extensible &extras, mode_t mode=0660)
 

Protected Member Functions

virtual void setSecurityContext (const SecurityContext *ctx)
 Set the security context. More...
 
- Protected Member Functions inherited from dmlite::BaseInterface
virtual void setStackInstance (StackInstance *si)
 

Static Protected Member Functions

static void setSecurityContext (IODriver *i, const SecurityContext *ctx)
 
- Static Protected Member Functions inherited from dmlite::BaseInterface
static void setStackInstance (BaseInterface *i, StackInstance *si)
 These method allows plugins to call other plugins setStackInstance and setSecurityContext. More...
 
static void setSecurityContext (BaseInterface *i, const SecurityContext *ctx)
 

Friends

class StackInstance
 

Detailed Description

IO Driver.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Use this flag in addition to the standard ones to skip any security check (i.e. token validation) Example: createIOHandler("/file.txt", O_RDONLY | IODriver::kInsecure, extras);

Enumerator
kInsecure 

Constructor & Destructor Documentation

◆ ~IODriver()

virtual dmlite::IODriver::~IODriver ( )
virtual

Virtual destructor.

Member Function Documentation

◆ createIOHandler() [1/2]

virtual IOHandler* dmlite::IODriver::createIOHandler ( const std::string &  pfn,
int  flags,
const Extensible extras,
mode_t  mode = 0660 
)
virtual

Instantiate a implementation of IOHandler

Parameters
pfnThe file name.
flagsThe open mode. See man 2 open.
extrasAs was given by the PoolHandler.
modeWhen called with O_CREAT, it will be used to create the file.

◆ createIOHandler() [2/2]

static IOHandler* dmlite::IODriver::createIOHandler ( IODriver factory,
const std::string &  pfn,
int  flags,
const Extensible extras,
mode_t  mode = 0660 
)
static

◆ doneWriting()

virtual void dmlite::IODriver::doneWriting ( const Location loc)
virtual

Must be called when the front-end is done writing.

Parameters
pfnThe file name.
locThe Location object as returned by whereToWrite

◆ getImplId()

virtual std::string dmlite::IODriver::getImplId ( void  ) const
throw (
)
pure virtual

String ID of the implementation.

Implements dmlite::BaseInterface.

◆ setSecurityContext() [1/2]

virtual void dmlite::IODriver::setSecurityContext ( const SecurityContext ctx)
protectedvirtual

Set the security context.

Reimplemented from dmlite::BaseInterface.

◆ setSecurityContext() [2/2]

static void dmlite::IODriver::setSecurityContext ( IODriver i,
const SecurityContext ctx 
)
staticprotected

Friends And Related Function Documentation

◆ StackInstance

friend class StackInstance
friend

The documentation for this class was generated from the following file: