File: gnatcoll-io-remote-unix.ads

package info (click to toggle)
libgnatcoll 18-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid
  • size: 5,068 kB
  • sloc: ada: 40,393; python: 354; ansic: 310; makefile: 245; sh: 31
file content (122 lines) | stat: -rw-r--r-- 5,037 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
------------------------------------------------------------------------------
--                             G N A T C O L L                              --
--                                                                          --
--                     Copyright (C) 2009-2017, AdaCore                     --
--                                                                          --
-- This library is free software;  you can redistribute it and/or modify it --
-- under terms of the  GNU General Public License  as published by the Free --
-- Software  Foundation;  either version 3,  or (at your  option) any later --
-- version. This library is distributed in the hope that it will be useful, --
-- but WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHAN- --
-- TABILITY or FITNESS FOR A PARTICULAR PURPOSE.                            --
--                                                                          --
--                                                                          --
--                                                                          --
--                                                                          --
--                                                                          --
-- You should have received a copy of the GNU General Public License and    --
-- a copy of the GCC Runtime Library Exception along with this program;     --
-- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
-- <http://www.gnu.org/licenses/>.                                          --
--                                                                          --
------------------------------------------------------------------------------

with GNAT.Strings;          use GNAT.Strings;
with GNATCOLL.Remote;       use GNATCOLL.Remote;

package GNATCOLL.IO.Remote.Unix is

   --  The following methods are equivalent to their native counterparts.
   --  See GNATCOLL.IO for documentation.

   function Current_Dir
     (Exec : access Server_Record'Class) return FS_String;
   function Home_Dir
     (Exec : access Server_Record'Class) return FS_String;
   function Tmp_Dir
     (Exec : access Server_Record'Class) return FS_String;
   function Get_Logical_Drives
     (Exec : access Server_Record'Class) return String_List_Access;
   function Locate_On_Path
     (Exec : access Server_Record'Class;
      Base : FS_String) return FS_String;
   function Is_Regular_File
     (Exec : access Server_Record'Class;
      File : FS_String) return Boolean;
   function Size
     (Exec : access Server_Record'Class;
      File : FS_String) return Long_Integer;
   function Is_Directory
     (Exec : access Server_Record'Class;
      File : FS_String) return Boolean;
   function Is_Symbolic_Link
     (Exec : access Server_Record'Class;
      File : FS_String) return Boolean;
   function File_Time_Stamp
     (Exec : access Server_Record'Class;
      File : FS_String) return Ada.Calendar.Time;
   function Is_Writable
     (Exec : access Server_Record'Class;
      File : FS_String) return Boolean;
   procedure Set_Writable
     (Exec  : access Server_Record'Class;
      File  : FS_String;
      State : Boolean);
   function Is_Readable
     (Exec : access Server_Record'Class;
      File : FS_String) return Boolean;
   procedure Set_Readable
     (Exec  : access Server_Record'Class;
      File  : FS_String;
      State : Boolean);
   procedure Rename
     (Exec    : access Server_Record'Class;
      From    : FS_String;
      Dest    : FS_String;
      Success : out Boolean);
   procedure Copy
     (Exec    : access Server_Record'Class;
      From    : FS_String;
      Dest    : FS_String;
      Success : out Boolean);
   procedure Delete
     (Exec    : access Server_Record'Class;
      File    : FS_String;
      Success : out Boolean);
   function Read_Whole_File
     (Exec : access Server_Record'Class;
      File : FS_String)
      return GNAT.Strings.String_Access;
   function Read_Whole_File
     (Exec : access Server_Record'Class;
      File : FS_String)
      return GNATCOLL.Strings.XString;
   function Write_File
     (Exec    : access Server_Record'Class;
      File    : FS_String;
      Content : String) return Boolean;
   function Change_Dir
     (Exec : access Server_Record'Class;
      Dir  : FS_String) return Boolean;
   function Read_Dir
     (Exec       : access Server_Record'Class;
      Dir        : FS_String;
      Dirs_Only  : Boolean := False;
      Files_Only : Boolean := False)
      return GNAT.Strings.String_List;
   function Make_Dir
     (Exec      : access Server_Record'Class;
      Dir       : FS_String;
      Recursive : Boolean) return Boolean;
   procedure Copy_Dir
     (Exec    : access Server_Record'Class;
      From    : FS_String;
      Dest    : FS_String;
      Success : out Boolean);
   procedure Delete_Dir
     (Exec      : access Server_Record'Class;
      Dir       : FS_String;
      Recursive : Boolean;
      Success   : out Boolean);

end GNATCOLL.IO.Remote.Unix;