Files
libreoffice/xmlsecurity/inc/xmlsecurity/certificateviewer.hxx

169 lines
5.5 KiB
C++
Raw Normal View History

2010-10-27 12:45:03 +01:00
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2004-07-12 12:15:31 +00:00
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
2004-07-12 12:15:31 +00:00
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
2004-07-12 12:15:31 +00:00
*
* OpenOffice.org - a multi-platform office productivity suite
2004-07-12 12:15:31 +00:00
*
* This file is part of OpenOffice.org.
2004-07-12 12:15:31 +00:00
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
2004-07-12 12:15:31 +00:00
*
* OpenOffice.org 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 version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
2004-07-12 12:15:31 +00:00
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
2004-07-12 12:15:31 +00:00
*
************************************************************************/
#ifndef _XMLSECURITY_CERTIFICATEVIEWER_HXX
#define _XMLSECURITY_CERTIFICATEVIEWER_HXX
#include <vcl/fixed.hxx>
#include <vcl/button.hxx>
#include <vcl/lstbox.hxx>
#include <vcl/tabdlg.hxx>
#include <vcl/tabctrl.hxx>
#include <vcl/tabpage.hxx>
#include <svtools/stdctrl.hxx>
#include <svx/simptabl.hxx>
#include <svtools/svmedit.hxx>
namespace com {
namespace sun {
namespace star {
namespace security {
class XCertificate; }
namespace xml { namespace crypto {
class XSecurityEnvironment; }}
}}}
namespace css = com::sun::star;
namespace cssu = com::sun::star::uno;
namespace dcss = ::com::sun::star;
class CertificateViewer : public TabDialog
{
private:
friend class CertificateViewerGeneralTP;
friend class CertificateViewerDetailsTP;
friend class CertificateViewerCertPathTP;
TabControl maTabCtrl;
OKButton maOkBtn;
HelpButton maHelpBtn;
sal_Bool mbCheckForPrivateKey;
2004-07-12 12:15:31 +00:00
cssu::Reference< dcss::xml::crypto::XSecurityEnvironment > mxSecurityEnvironment;
cssu::Reference< dcss::security::XCertificate > mxCert;
public:
CertificateViewer( Window* pParent, const cssu::Reference< dcss::xml::crypto::XSecurityEnvironment >& rxSecurityEnvironment, const cssu::Reference< dcss::security::XCertificate >& rXCert, sal_Bool bCheckForPrivateKey );
2004-07-12 12:15:31 +00:00
virtual ~CertificateViewer();
};
class CertificateViewerTP : public TabPage
{
protected:
CertificateViewer* mpDlg;
public:
CertificateViewerTP( Window* _pParent, const ResId& _rResId, CertificateViewer* _pDlg );
inline void SetTabDlg( CertificateViewer* pTabDlg );
};
inline void CertificateViewerTP::SetTabDlg( CertificateViewer* _pTabDlg )
{
mpDlg = _pTabDlg;
}
class CertificateViewerGeneralTP : public CertificateViewerTP
{
private:
Window maFrameWin;
FixedImage maCertImg;
FixedInfo maCertInfoFI;
FixedLine maSep1FL;
FixedInfo maHintNotTrustedFI;
FixedLine maSep2FL;
FixedInfo maIssuedToLabelFI;
FixedInfo maIssuedToFI;
FixedInfo maIssuedByLabelFI;
FixedInfo maIssuedByFI;
FixedInfo maValidDateFI;
2004-07-12 12:15:31 +00:00
FixedImage maKeyImg;
FixedInfo maHintCorrespPrivKeyFI;
public:
CertificateViewerGeneralTP( Window* pParent, CertificateViewer* _pDlg );
virtual void ActivatePage();
};
class CertificateViewerDetailsTP : public CertificateViewerTP
{
private:
SvxSimpleTableContainer m_aElementsLBContainer;
SvxSimpleTable maElementsLB;
2004-07-12 12:15:31 +00:00
MultiLineEdit maElementML;
2004-07-14 10:38:07 +00:00
Font maStdFont;
Font maFixedWidthFont;
2004-07-12 12:15:31 +00:00
DECL_LINK( ElementSelectHdl, void* );
void Clear( void );
2004-07-14 10:38:07 +00:00
void InsertElement( const String& _rField, const String& _rValue,
const String& _rDetails, bool _bFixedWidthFont = false );
2004-07-12 12:15:31 +00:00
public:
CertificateViewerDetailsTP( Window* pParent, CertificateViewer* _pDlg );
virtual ~CertificateViewerDetailsTP();
virtual void ActivatePage();
};
class CertificateViewerCertPathTP : public CertificateViewerTP
{
private:
FixedText maCertPathFT;
SvTreeListBox maCertPathLB;
2004-07-21 12:57:52 +00:00
PushButton maViewCertPB;
2004-07-12 12:15:31 +00:00
FixedText maCertStatusFT;
MultiLineEdit maCertStatusML;
CertificateViewer* mpParent;
bool mbFirstActivateDone;
Image maCertImage;
Image maCertNotValidatedImage;
String msCertOK;
String msCertNotValidated;
2004-07-12 12:15:31 +00:00
2004-07-21 12:57:52 +00:00
DECL_LINK( ViewCertHdl, void* );
2004-07-12 12:15:31 +00:00
DECL_LINK( CertSelectHdl, void* );
void Clear( void );
SvLBoxEntry* InsertCert( SvLBoxEntry* _pParent, const String& _rName,
cssu::Reference< dcss::security::XCertificate > rxCert,
bool bValid);
2004-07-21 12:57:52 +00:00
2004-07-12 12:15:31 +00:00
public:
CertificateViewerCertPathTP( Window* pParent, CertificateViewer* _pDlg );
virtual ~CertificateViewerCertPathTP();
virtual void ActivatePage();
};
#endif // _XMLSECURITY_CERTIFICATEVIEWER_HXX
2010-10-27 12:45:03 +01:00
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */