Version 6.1.0.2, tag libreoffice-6.1.0.2
[LibreOffice.git] / framework / inc / jobs / jobresult.hxx
bloba083bee278081d64e4635d2d802e40113cd7d6ea
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_FRAMEWORK_INC_JOBS_JOBRESULT_HXX
21 #define INCLUDED_FRAMEWORK_INC_JOBS_JOBRESULT_HXX
23 #include <stdtypes.h>
24 #include <general.h>
26 #include <com/sun/star/beans/NamedValue.hpp>
27 #include <com/sun/star/frame/DispatchResultEvent.hpp>
29 #include <rtl/ustring.hxx>
31 namespace framework{
33 /**
34 @short represent a result of a finished job execution
35 @descr Such result instance transport all necessary
36 data from the code place where the job was finished
37 to the outside code, where e.g. listener must be notified.
39 class JobResult final
42 // types
44 public:
46 /**
47 These enum values are used to build a flag mask of possible set
48 parts of an analyzed pure job execution result.
49 An user of this class can decide, if a member of us can be valid
50 or not. So it can indicate, if a job used the special part inside
51 his returned result protocol.
52 To be usable as flags - it must be values of set {0,1,2,4,8,16 ...}!
54 enum EParts
56 E_NOPART = 0,
57 E_ARGUMENTS = 1,
58 E_DEACTIVATE = 2,
59 E_DISPATCHRESULT = 4
62 // member
64 private:
66 /**
67 an user of us must know, which (possible) parts of
68 a "pure result" was really set by an executed job.
69 Means which other members of this class are valid.
70 This mask can be used to find it out.
72 sal_uInt32 m_eParts;
74 /**
75 a job can have persistent data
76 They are part of the pure result and will be used to
77 write it to the configuration. But that's part of any
78 user of us. We provide this information here only.
80 std::vector< css::beans::NamedValue > m_lArguments;
82 /**
83 represent the part "DispatchResult"
84 It's a fulfilled event type, which was given
85 back by the executed job. Any user of us can send
86 it to his registered result listener directly.
88 css::frame::DispatchResultEvent m_aDispatchResult;
90 // native interface
92 public:
94 JobResult( );
95 JobResult( const css::uno::Any& aResult );
96 JobResult( const JobResult& rCopy );
97 ~JobResult( );
99 JobResult& operator=( const JobResult& rCopy );
101 bool existPart ( sal_uInt32 eParts ) const;
102 std::vector< css::beans::NamedValue > getArguments ( ) const;
103 css::frame::DispatchResultEvent getDispatchResult( ) const;
106 } // namespace framework
108 #endif // INCLUDED_FRAMEWORK_INC_JOBS_JOBRESULT_HXX
110 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */