Muster SDK  8.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
MDrive.h
Go to the documentation of this file.
1 /*****************************************************************************
2  **
3  ** Header file for Muster API Drive object
4  **
5  ** Name : MDrive.h
6  ** Author : Leonardo Bernardini
7  ** Version : 1.0, Sat Mar 2nd 2013
8  **
9  ** Copyright 2000-2014, Virtual Vertex
10  ** All Rights Reserved.
11  **
12  ** This file contains UNPUBLISHED PROPRIETARY SOURCE CODE.
13  ** The contents of this file may not be disclosed to third parties, copied
14  ** or duplicated in any form, in whole or in part, without the prior written
15  ** permission of the author.
16  **
17  *****************************************************************************/
18 #ifndef MDRIVE_H
19 #define MDRIVE_H
20 
21 #ifdef WIN32
22 // Windows definitions
23 #ifdef MCLIENTLIB_EXPORTS
24 #define MCLIENTLIB_API __declspec(dllexport)
25 #else
26 #define MCLIENTLIB_API __declspec(dllimport)
27 #endif
28 #else
29 
30 #ifndef MCLIENTLIB_EXPORTS
31 #ifdef LINUX
32 #define MCLIENTLIB_API
33 #else
34 #define MCLIENTLIB_API
35 #endif
36 #else
37 #define MCLIENTLIB_API
38 #endif
39 #endif
40 
41 #if defined(_WIN32)
42 #pragma warning(disable: 4251)
43 #endif // _WIN32
44 
45 #include <string>
46 #include <vector>
47 
48 namespace MClientLib {
49 
54  public:
55 
56  private:
57  std::string mountPoint;
58  std::string name;
59  unsigned long long int mountPointTotalSize;
60  unsigned long long int mountPointFreeSpace;
61 
62  public:
63  MDrive();
64  ~MDrive();
65 
66  std::string getMountPoint();
67  std::string getName();
68  unsigned long long int getMountPointTotalSize();
69  unsigned long long int getMountPointFreeSpace();
70 
71  void setMountPoint(const std::string&);
72  void setName(const std::string&);
73  void setMountPointTotalSize(unsigned long long int);
74  void setMountPointFreeSpace(unsigned long long int);
75 
76  bool Unmarshall(std::vector<std::string>& items);
77  bool Unmarshall(const char* data);
78  std::string Marshall();
80  static void GetMountPaths(std::vector<MClientLib::MDrive>*);
81  static std::string MarshallDrivesList(std::vector<MClientLib::MDrive>*);
82  static std::vector<MClientLib::MDrive> UnmarshallDrivesList(const std::string& data);
83 
84  };
85 }
86 
87 #endif