Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HIOUtilityExchange.h
1 //
2 // Copyright (c) 2000 by Tech Soft 3D, LLC.
3 // The information contained herein is confidential and proprietary to
4 // Tech Soft 3D, LLC., and considered a trade secret as defined under
5 // civil and criminal statutes. Tech Soft 3D shall pursue its civil
6 // and criminal remedies in the event of unauthorized use or misappropriation
7 // of its trade secrets. Use of this information by anyone other than
8 // authorized employees of Tech Soft 3D, LLC. is granted only under a
9 // written non-disclosure agreement, expressly prescribing the scope and
10 // manner of such use.
11 //
12 // $Id: de24ca347e113cc53de9675eafcd3b4f57618a83 $
13 //
14 
15 #ifndef _HIOUTILITYEXCHANGE_H
16 #define _HIOUTILITYEXCHANGE_H
17 
18 #ifdef H_PACK_8
19 #pragma pack(push)
20 #pragma pack(8)
21 #endif
22 
23 #include "HTools.h"
24 #include "HIOManager.h"
25 #include "vlist.h"
26 
27 #if defined(HIO_EXCHANGE) && defined(_MSC_VER)
28 #define HIO_API __declspec (dllexport)
29 #else
30 #define HIO_API
31 #endif
32 
33 class HPDFLayoutManager;
34 class HPDFOptions;
39 class HIO_API HIOUtilityExchange: public HInputHandler, public HOutputHandler
40 {
41 
42 public:
43 
46  virtual ~HIOUtilityExchange() {};
47 
52  const char * GetOutputName() { return "HIOUtilityExchange"; }
53  const char * GetInputName() { return "HIOUtilityExchange"; }
54 
56  const char * GetInputTypesString() {return "prc;prd;x_t;x_b;step;stp;igs;iges;CATPart;CATProduct;"
57  "cgr;session;model;3dxml;CADDS;PD;XV3;XV0;prt;asm;xpr;xas;neu;asm.1;prt.1;jt;SLDPRT;SLDASM;mf1;"
58  "arc;unv;pkg;sdp;sdpc;sdw;sdwc;sda;sdac;sds;sdsc;ses;bdl;psm;pwd;par;asm;sat;sab;ipt;iam;ifc;dae"; }
59 
60 
61 
64 
72  HFileInputResult FileInputByKey(const wchar_t * FileName, HC_KEY key, HInputHandlerOptions * options);
73 
74  HFileInputResult FileInputByKey(const char * FileName, HC_KEY key, HInputHandlerOptions * options){
75  return FileInputByKey(H_WCS(FileName).encodedText(), key, options);
76  };
77 
78  HFileInputResult FileInputByKey(const unsigned short * FileName, HC_KEY key, HInputHandlerOptions * options){
79  H_UTF16 utf16;
80  utf16.encodedText((utf16_char const*) FileName);
81  return FileInputByKey(H_WCS(utf16).encodedText(), key, options);
82  };
83 
84  HFileOutputResult FileOutputByKey(const wchar_t * filename, HC_KEY key, HOutputHandlerOptions * options);
85 
86  HFileOutputResult FileOutputByKey(const unsigned short * filename, HC_KEY key, HOutputHandlerOptions * options){
87  H_UTF16 utf16;
88  utf16.encodedText((utf16_char const*) filename);
89  return FileOutputByKey(H_WCS(utf16).encodedText(), key, options);
90  }
91 
92  HFileOutputResult FileOutputByKey(const char * filename, HC_KEY key, HOutputHandlerOptions * options){
93  return FileOutputByKey(H_WCS(filename).encodedText(), key, options);
94  }
95 
96  void RegisterOutputHandlerTypes();
97 
104  virtual void *BuildPRCModel(HOutputHandlerOptions * options, HC_KEY key);
105 
106 
107  const char * GetOutputTypesString() {
108  return "prc;iges;step;x_t;stl";
109  }
110 
111  HOutputHandlerStyle GetOutputStyle() {
112  return HOutputHandlerStyleModel;
113  }
114 };
115 
116 
117 
118 #ifdef HIO_EXCHANGE
119 extern "C" {
120  HIO_API void * CreateInput(HIOManager *manager);
121  HIO_API void * CreateOutput(HIOManager *manager);
122  HIO_API void * CreateConnector(void * unused);
123  HIO_API void Free(HIOUtilityExchange *);
124  }
125 
126 
127 #endif
128 
129 #ifdef H_PACK_8
130 #pragma pack(pop)
131 #endif
132 
133 #endif
virtual void RegisterInputHandlerTypes()=0
const char * GetInputName()
Definition: HIOUtilityExchange.h:53
const char * GetOutputName()
Definition: HIOUtilityExchange.h:52
Specifies an HInputHandler for model data.
Definition: HIOManager.h:227
virtual HFileInputResult FileInputByKey(const char *filename, HC_KEY key, HInputHandlerOptions *options)
HInputHandler an abstract base class for model and image input.
Definition: HIOManager.h:667
HInputHandlerStyle GetInputStyle()
Definition: HIOUtilityExchange.h:63
HFileInputResult FileInputByKey(const unsigned short *FileName, HC_KEY key, HInputHandlerOptions *options)
Definition: HIOUtilityExchange.h:78
HOutputHandlerStyle
Definition: HIOManager.h:858
HFileInputResult FileInputByKey(const char *FileName, HC_KEY key, HInputHandlerOptions *options)
Definition: HIOUtilityExchange.h:74
HInputHandlerStyle
Definition: HIOManager.h:226
const char * GetInputTypesString()
Definition: HIOUtilityExchange.h:56
Definition: HIOUtilityPublish.h:136
Definition: HIOUtilityExchange.h:39
Definition: HIOManager.h:247
A header file containing the HIO classes for passing to HBaseView::FileInput and HBaseView::FileOutpu...