HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
OP_OTLEncrypt.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: OP_OTLEncrypt.h ( OTL Library, C++)
7  */
8 
9 #ifndef __OP_OTLEncrypt__
10 #define __OP_OTLEncrypt__
11 
12 #include "OP_API.h"
13 #include <UT/UT_Array.h>
14 #include <UT/UT_StringArray.h>
15 #include "OP_OTLLicenseType.h"
16 
17 class OP_Node;
18 
20 {
21 public:
22  OP_OTLEncrypt();
23  ~OP_OTLEncrypt();
24 
25  // Login to the asset creator account at SESI licensing site.
26  const UT_String &getEmail() const;
27  void setEmail(const char *email);
28  const UT_String &getPassword() const;
29  void setPassword(const char *password);
30 
31  // Various options for compiling the node during licensing process.
32  bool getCompileBasic() const;
33  void setCompileBasic(bool compile);
34  bool getCompileVopnets() const;
35  void setCompileVopnets(bool compile);
36  bool getCompileChannels() const;
37  void setCompileChannels(bool compile);
38  bool getCompileNodeNames() const;
39  void setCompileNodeNames(bool compile);
40 
41  // Management of the required license names.
42  int getNumLicenseNames() const;
43  const UT_StringHolder &getLicenseName(int index) const;
44  void removeLicenseName(int index);
45  void addLicenseName(const char *name);
46 
47  /// Licenses and encrypts the HDA node and saves it in a given library.
48  bool encryptNode(OP_Node *node, const char *libpath);
49 
50  /// Obtains the messages for the errors that occured while attempting
51  /// to encrypt the asset.
52  const UT_String &getErrorMsg() const;
53 
54 private:
55  // This method obtains a cryptographically signed document (in XML form)
56  // that specifies the licenses required to run this HDA. The info also
57  // contains the encryption specification for encrypting/decrypting the
58  // contents of the HDA. This method connects to the SESI licensing site
59  // to obtain this requirement info.
60  bool getLicenseRequirementInfo( UT_String & info );
61 
62 private:
63  UT_String myEmail;
64  UT_String myPassword;
65  UT_StringArray myLicenseNames;
66 
67  bool myCompileBasic;
68  bool myCompileVopnets;
69  bool myCompileChannels;
70  bool myCompileNodeNames;
71 
72  UT_String myErrors;
73 };
74 
75 #endif
76 
GLuint const GLchar * name
Definition: glcorearb.h:786
#define OP_API
Definition: OP_API.h:10
GLuint index
Definition: glcorearb.h:786