summaryrefslogtreecommitdiff
path: root/libdigidoc/DigiDocService.h
blob: 8cce6f56dd60c2dc30c3489413208126dc83e4e6 (plain)
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
91
92
93
94
95
96
97
98
99
100
101
102
#ifndef __DIGI_DOC_SRV_H__
#define __DIGI_DOC_SRV_H__
//==================================================
// FILE:	DigiDocService.h
// PROJECT:     Digi Doc
// DESCRIPTION: Digi Doc functions for DigiDocService access
// AUTHOR:  Veiko Sinivee, Sunset Software O�
//==================================================
// Copyright (C) AS Sertifitseerimiskeskus
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// Lesser General Public License for more details.
// GNU Lesser General Public Licence is available at
// http://www.gnu.org/copyleft/lesser.html
//==================================================

#include <libdigidoc/DigiDocDefs.h>
#include <libdigidoc/DigiDocHTTP.h>
#include <libdigidoc/DigiDocMem.h>

#ifdef  __cplusplus
extern "C" {
#endif
    
#define STATUS_UNKNOWN                  0
#define STATUS_OUTSTANDING_TRANSACTION  1
#define STATUS_SIGNATURE                2
#define STATUS_ERROR                    3
    
    
    //------------------------------------------
    // Gets DigiDocService session status and returns status code
    // If session is ready then signature will be returned
    // pSigDoc - signed document object to be modified
    // lSesscode - session code
    // url - dds service url
    // proxyHost - proxy hostname
    // proxyPort -proxy port
    // pStatus - buffer for returning status
    // pMBufSig - buffer for returning signature
    // returns DigiDocService session status code
    // deprecated use ddsGetStatus(pSigDoc, lSesscode, url, proxyHost, proxyPort, pStatus, szFileName)
    //------------------------------------------
    DIGIDOC_DEPRECATED EXP_OPTION int ddsGetStatus(SignedDoc* pSigDoc, long lSesscode,
                                char* url, char* proxyHost, char* proxyPort,
                                int* pStatus);
    
    //------------------------------------------
    // Gets DigiDocService session status and returns status code
    // If session is ready then signature will be returned
    // pSigDoc - signed document object to be modified
    // lSesscode - session code
    // url - dds service url
    // proxyHost - proxy hostname
    // proxyPort -proxy port
    // pStatus - buffer for returning status
    // szFileName - ddoc filename to add signature from dds (optional)
    // pMBufSig - buffer for returning signature
    // returns DigiDocService session status code
    //------------------------------------------
    EXP_OPTION int ddsGetStatusWithFile(SignedDoc* pSigDoc, long lSesscode,
                                char* url, char* proxyHost, char* proxyPort,
                                int* pStatus, const char* szFileName);

  //--------------------------------------------------
  // Signs the document and gets return status back
  // pSigDoc - signed document object
  // szIdCode - personal id code
  // szPhoneNo - users phone number
  // szLang - language code
  // manifest - manifest or role
  // city - signers address , city
  // state - signers address , state or province
  // zip - signers address , postal code
  // country - signers address , country name
  // pSesscode - pointer to long int buffer for returning session code
  // szChallenge - buffer for returning challenge code (char 4)
  // nChalLen - length of challenge buffer
  // return error code or ERR_OK
  //--------------------------------------------------
  EXP_OPTION int ddsSign(SignedDoc* pSigDoc, 
                         const char* szIdCode, const char* szPhoneNo,
                         const char* szLang, const char* szServiceName,
                         const char* manifest, const char* city, 
                         const char* state, const char* zip, 
                         const char* country,
                         char* url, char* proxyHost, char* proxyPort,
                         long* pSesscode, char* szChallenge, int nChalLen);



#ifdef  __cplusplus
}
#endif


#endif // __DIGI_DOC_CFG_H__