zjf
2023-03-06 392b76515f40376b6d36f40a114850ef63650384
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
/////////////////////////////////////////////////////////////////////////////// 
// Copyright (C) 2002-2016, Open Design Alliance (the "Alliance"). 
// All rights reserved. 
// 
// This software and its documentation and related materials are owned by 
// the Alliance. The software may only be incorporated into application 
// programs owned by members of the Alliance, subject to a signed 
// Membership Agreement and Supplemental Software License Agreement with the
// Alliance. The structure and organization of this software are the valuable  
// trade secrets of the Alliance and its suppliers. The software is also 
// protected by copyright law and international treaty provisions. Application  
// programs incorporating this software must include the following statement 
// with their copyright notices:
//   
//   This application incorporates Teigha(R) software pursuant to a license 
//   agreement with Open Design Alliance.
//   Teigha(R) Copyright (C) 2002-2016 by Open Design Alliance. 
//   All rights reserved.
//
// By use of this software, its documentation or related materials, you 
// acknowledge and accept the above terms.
///////////////////////////////////////////////////////////////////////////////
 
 
#ifndef _ODDBSYSTEMSERVICES_INCLUDED_
#define _ODDBSYSTEMSERVICES_INCLUDED_
 
#include "RxSystemServices.h"
 
#include "TD_PackPush.h"
 
/** \details
    This class is the base class for classes that provide platform-dependent file operations for
    Teigha.
*/
typedef OdRxSystemServices OdDbSystemServices;
 
/** \details
    This template class is a specialization of the OdSmartPtr class for OdDbSystemServices object pointers.
*/
typedef OdSmartPtr<OdDbSystemServices> OdDbSystemServicesPtr;
 
TOOLKIT_EXPORT OdDbSystemServices* odSystemServices();
 
/** \details
    Performs Teigha system initialization.  
    
    \remarks
    This function registers all classes supported by Teigha. Instances of these classes may
    Thus be created by client applications. 
    
    It also allows the user to specify the OdDbSystemServices instance that to be used for file creation and access.  
    
    \note
    This function should be called once per process prior to any other Teigha calls.
    
    \param pSystemServices [in]  Pointer to SystemServices object.
    
    \sa
    TD_Db
*/
TOOLKIT_EXPORT void odInitialize(
  OdDbSystemServices* pSystemServices);
 
/** \details
    Performs Teigha system uninitialization.  
 
    \remarks
    This function releases the dynamic class registration data and the OdDbSystemServices pointer 
    associated with the earlier call to odInitialize.  
    
    \note
    This function should be called once per process as the last operation performed by Teigha.
 
    \sa
    TD_Db
*/
TOOLKIT_EXPORT void odUninitialize();
 
 
#include "TD_PackPop.h"
 
#endif // _ODDBSYSTEMSERVICES_INCLUDED_