Belle II Software development
File.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#ifndef _Belle2_File_hh
9#define _Belle2_File_hh
10
11#include "daq/slc/system/FileDescriptor.h"
12
13#include <string>
14
15namespace Belle2 {
21 class File : public FileDescriptor {
22
23 public:
24 static bool exist(const std::string& filename);
25
26 public:
27 File() {}
28 File(int fd) : FileDescriptor(fd) {}
29 File(const std::string& path,
30 const std::string& mode = "r") { open(path, mode); }
31 virtual ~File() {}
32
33 public:
34 void open(const std::string& path,
35 const std::string& mode = "r");
36 void unlink(const std::string& path);
37 virtual size_t write(const void* v, size_t count);
38 virtual size_t read(void* v, size_t count);
39
40 };
41
43}
44
45#endif
Abstract base class for different kinds of events.