File: vtkVVFileAuthenticator.h

package info (click to toggle)
volview 3.4-3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 25,204 kB
  • sloc: cpp: 132,585; ansic: 11,612; tcl: 236; sh: 64; makefile: 25; xml: 8
file content (90 lines) | stat: -rw-r--r-- 3,020 bytes parent folder | download
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
/*=========================================================================

  Copyright (c) Kitware, Inc.
  All rights reserved.
  See Copyright.txt or http://www.kitware.com/VolViewCopyright.htm for details.

     This software is distributed WITHOUT ANY WARRANTY; without even
     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
     PURPOSE.  See the above copyright notice for more information.

=========================================================================*/
// .NAME vtkVVFileAuthenticator - Authenticates a file instance to check if loading it is supported.
// .SECTION Description

#ifndef __vtkVVFileAuthenticator_h
#define __vtkVVFileAuthenticator_h

#include "vtkKWObject.h"

class vtkVVFileInstance;
class vtkKWDataTransfer;

class VTK_EXPORT vtkVVFileAuthenticator : public vtkKWObject
{
public:
  static vtkVVFileAuthenticator * New();
  vtkTypeRevisionMacro(vtkVVFileAuthenticator,vtkKWObject);
  virtual void PrintSelf(ostream& os, vtkIndent indent);

  // Description:
  // Set the file instance.
  // Not reference counted to avoid cycles.
  virtual void SetFileInstance(vtkVVFileInstance *);
  vtkGetObjectMacro(FileInstance, vtkVVFileInstance);

  // Description:
  // Are we allowed to load the supplied file ?
  // The default implementation here returns 1. Subclasses that wish to
  // enforce constraints on file loading via licensing schemens etc will 
  // wish to override this.
  //   Returns 1 if the file can be loaded.
  //           0 if the file cannot be loaded. In this case, the "ReasonString"
  //             is populated with a textual description of an appropriate 
  //             reason.
  virtual int AuthenticateFile(const char *file);

  // Description:
  // Reason why "Authenticate.." failed may be queried. Needless to say, this
  // method must be called only after calling one of the Authenticate methods.
  vtkGetStringMacro(ReasonString);

  // Description:
  // Get the public key. A key may be specified on a per application basis.
  // See PublicKeyFile
  virtual const char *GetPublicKey();

  // Description:
  // Set/Get the public key file where the public key will be extracted from
  // (if not set already). This is a *relative* path, that will be used to
  // search from the application's InstallationDirectory 
  // (see vtkKWApplication::InstallationDirectory) and the UserDataDirectory/
  // It can include a subdirector (still relative).
  // Defaults to "Authentication/license.pub"
  //BTX
  vtkSetStringMacro(PublicKeyFile);
  vtkGetStringMacro(PublicKeyFile);
  //ETX

protected:
  vtkVVFileAuthenticator();
  ~vtkVVFileAuthenticator();

  vtkVVFileInstance * FileInstance;

  char *ReasonString;
  vtkSetStringMacro(ReasonString);

  char *PublicKeyFile;

  // Description:
  // The public key
  vtkSetStringMacro(PublicKey);
  char *PublicKey;  

private:
  vtkVVFileAuthenticator(const vtkVVFileAuthenticator&); // Not implemented
  void operator=(const vtkVVFileAuthenticator&); // Not implemented
};

#endif