Teamcenter C++ API Reference  2312
OSDirectory.hxx
Go to the documentation of this file.
1 /*==================================================================================================
2 
3 Copyright (c) 2013 Siemens PLM
4 Unpublished - All rights reserved
5 
6  ====================================================================================================*/
16 #ifndef FCLASSES_OSDIRECTORY_INCLUDE_HXX
17 #define FCLASSES_OSDIRECTORY_INCLUDE_HXX
18 
25 #include <vector>
26 #include <ss/ss_types.h>
27 #include <fclasses/OSFile.hxx>
28 
29 #include <fclasses/libfclasses_exports.h>
30 namespace Teamcenter
31 {
37  class FCLASSES_API OSDirectory
38  {
39  public:
43  enum OSType {
44  TCSERVER_OS = 0,
46  WINDOWS_OS
47  };
48 
57  OSDirectory(const char *iDirectoryPath, OSType iOSType=TCSERVER_OS);
58 
62  OSDirectory(const OSDirectory&);
63 
68  OSDirectory(OSType iOSType=TCSERVER_OS);
69 
73  virtual ~OSDirectory();
74 
78  OSDirectory& operator = (const OSDirectory&);
79 
92  static char* getLeafName( const char* iDirectoryPath, OSType iOSType=TCSERVER_OS );
93 
102  char* getLeafName() const;
103 
115  static char *mergePaths(const char *iDirectoryPath, const char *iSubPath, OSType iOSType=TCSERVER_OS);
116 
126  static char* generateUniqueName(const char* iPrefix = 0);
127 
136  static char* getCurrentWorkDirectory();
137 
138 
144  char *getDirectoryPath() const;
145 
146 
158  int exists(bool& oDirectoryExists) const;
159 
160 
186  int create (int iMode = SS_DEF_DMODE);
187 
200  int chmod(int iMode);
201 
216  int setCurrentWorkDirectory(const char *iDirectoryPath);
217 
229  int deleteDirectory();
230 
241  int open();
242 
253  int close();
254 
255 
299  int readDirectory(SS_file_status *ioStatus);
300 
321  int readDirectoryWithoutFormatData(SS_file_status *ioStatus);
322 
336  int copyDirectory (const char *iDestinationPath);
337 
358  int wipeOut(bool iDeleteOnlyIfEmpty=false);
359 
360 
376  int listSubDirectories( std::vector<OSDirectory>& oListDirectories );
377 
378 
393  int listFiles( std::vector<Teamcenter::OSFile>& oListFiles );
394 
395 
411  int listContent( std::vector<OSDirectory>& oListDirectories, std::vector<Teamcenter::OSFile>& oListFiles );
412 
413 
421  virtual char *asString() const;
422 
423 
424  private:
426  int listContent(std::vector<OSDirectory>& oListDirectories, std::vector<Teamcenter::OSFile>& oListFiles, int file_format);
427 
430 
433 
436 
438  struct
439  {
441  const char* operation;
442  } m_directoryStatus;
443 
445  static const char* OPERATION_CONSTRUCTOR;
446  static const char* OPERATION_COPYCONST;
447  static const char* OPERATION_OPERATOREQUALS;
448  static const char* OPERATION_CREATE;
449  static const char* OPERATION_OPEN;
450  static const char* OPERATION_CLOSE;
451  static const char* OPERATION_DELETEDIR;
452  static const char* OPERATION_EXISTS;
453  static const char* OPERATION_CHMOD;
454  static const char* OPERATION_SETDIRPATH;
455  static const char* OPERATION_READ;
456  };
457 }
458 #include <fclasses/libfclasses_undef.h>
459 #endif