0026377: Passing Handle objects as arguments to functions as non-const reference...
[occt.git] / src / XSControl / XSControl.hxx
1 // Created on: 1995-03-13
2 // Created by: Christian CAILLET
3 // Copyright (c) 1995-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
16
17 #ifndef _XSControl_HeaderFile
18 #define _XSControl_HeaderFile
19
20 #include <Standard.hxx>
21 #include <Standard_DefineAlloc.hxx>
22 #include <Standard_Handle.hxx>
23
24 class XSControl_WorkSession;
25 class IFSelect_SessionPilot;
26 class XSControl_Vars;
27 class XSControl_Controller;
28 class XSControl_TransferReader;
29 class XSControl_TransferWriter;
30 class XSControl_WorkSession;
31 class XSControl_SelectForTransfer;
32 class XSControl_SignTransferStatus;
33 class XSControl_ConnectedShapes;
34 class XSControl_Reader;
35 class XSControl_Writer;
36 class XSControl_Functions;
37 class XSControl_FuncShape;
38 class XSControl_Utils;
39 class XSControl_Vars;
40
41
42 //! This package provides complements to IFSelect & Co for
43 //! control of a session
44 class XSControl 
45 {
46 public:
47
48   DEFINE_STANDARD_ALLOC
49
50   
51   //! Returns the WorkSession of a SessionPilot, but casts it as
52   //! from XSControl : it then gives access to Control & Transfers
53   Standard_EXPORT static Handle(XSControl_WorkSession) Session (const Handle(IFSelect_SessionPilot)& pilot);
54   
55   //! Returns the Vars of a SessionPilot, it is brought by Session
56   //! it provides access to external variables
57   Standard_EXPORT static Handle(XSControl_Vars) Vars (const Handle(IFSelect_SessionPilot)& pilot);
58
59
60
61
62 protected:
63
64
65
66
67
68 private:
69
70
71
72
73 friend class XSControl_Controller;
74 friend class XSControl_TransferReader;
75 friend class XSControl_TransferWriter;
76 friend class XSControl_WorkSession;
77 friend class XSControl_SelectForTransfer;
78 friend class XSControl_SignTransferStatus;
79 friend class XSControl_ConnectedShapes;
80 friend class XSControl_Reader;
81 friend class XSControl_Writer;
82 friend class XSControl_Functions;
83 friend class XSControl_FuncShape;
84 friend class XSControl_Utils;
85 friend class XSControl_Vars;
86
87 };
88
89
90
91
92
93
94
95 #endif // _XSControl_HeaderFile