MoleQueue  0.8.0
 All Classes Functions Variables Enumerations Enumerator Pages
Public Types | Public Member Functions | List of all members
FileSpecification Class Reference

#include <molequeue/filespecification.h>

Public Types

enum  Format {
  InvalidFileSpecification = -1,
  PathFileSpecification = 0,
  ContentsFileSpecification
}
 

Public Member Functions

 FileSpecification ()
 
 FileSpecification (const QJsonObject &json)
 
 FileSpecification (const QString &path)
 
 FileSpecification (const QString &filename_, const QString &contents_)
 
 FileSpecification (QFile *file, Format format_=PathFileSpecification)
 
 FileSpecification (const FileSpecification &other)
 
FileSpecificationoperator= (const FileSpecification &other)
 
 ~FileSpecification ()
 
Format format () const
 
bool isValid () const
 
QByteArray toJson () const
 
QJsonObject toJsonObject () const
 
bool fileExists () const
 
bool writeFile (const QDir &dir, const QString &filename_=QString()) const
 
QString filename () const
 
QString contents () const
 
QString filepath () const
 
bool fileHasExtension () const
 
QString fileBaseName () const
 
QString fileExtension () const
 

Detailed Description

Specify files for simplifying Client-Server communication.

Author
David C. Lonie

The FileSpecification class contains a description of a file to facilite file manipulation during RPC communication. Files are stored as either a path to the local file on disk, or a filename and content string.

Member Enumeration Documentation

enum Format

Recognized internal formats for storing file data.

Enumerator
InvalidFileSpecification 

Invalid format.

PathFileSpecification 

Single "path" member pointing to a location on the filesystem.

ContentsFileSpecification 

Filename and content strings.

Constructor & Destructor Documentation

Creates an invalid FileSpecification.

FileSpecification ( const QJsonObject &  json)
explicit

Create a FileSpecification using the members of the input QJsonObject.

FileSpecification ( const QString &  path)
explicit

Create a FileSpecification from the input absolute filepath.

FileSpecification ( const QString &  filename_,
const QString &  contents_ 
)

Create a FileSpecification from the filename and content strings.

FileSpecification ( QFile *  file,
Format  format_ = PathFileSpecification 
)

Create a FileSpecification from the specified file using the indicated format

Destroy the FileSpec.

Member Function Documentation

FileSpecification& operator= ( const FileSpecification other)
Format format ( ) const
Returns
The format of the FileSpec
See Also
FileSpecification::Format
bool isValid ( ) const
Returns
True if the FileSpecification is formatted properly, false otherwise.
QByteArray toJson ( ) const
Returns
The FileSpecification as a formatted JSON string.
QJsonObject toJsonObject ( ) const
Returns
The FileSpecification as a formatted JSON string.
bool fileExists ( ) const
Returns
Whether or not the FileSpecification refers to an existing file
Note
This will always be false if format() does not return ContentsFileSpecification.
bool writeFile ( const QDir &  dir,
const QString &  filename_ = QString() 
) const

Write contents() to a file with filename_ in dir. If filename is not specified, filename() will be used instead (default).

Returns
True if the file is successfully written.
QString filename ( ) const
Returns
The filename (without path) of the FileSpecification.
QString contents ( ) const
Returns
The contents of the file.
QString filepath ( ) const
Returns
The filename (with path) of the FileSpecification.
Note
This function only makes sense if format() is PathFileSpecification. It will always return a null string otherwise.
bool fileHasExtension ( ) const
Returns
True if the filename has an extension ("file.ext"), false otherwise ("file")
QString fileBaseName ( ) const
Returns
The filename without an extension.
QString fileExtension ( ) const
Returns
The file extension, if any, or a null string.
See Also
hasFileExtension

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