Oracle Coherence for C++ API
Release 3.7.0.0

E18684-01

coherence/net/OperationalContext.hpp

00001 /*
00002 * OperationalContext.hpp
00003 *
00004 * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
00005 *
00006 * Oracle is a registered trademarks of Oracle Corporation and/or its
00007 * affiliates.
00008 *
00009 * This software is the confidential and proprietary information of Oracle
00010 * Corporation. You shall not disclose such confidential and proprietary
00011 * information and shall use it only in accordance with the terms of the
00012 * license agreement you entered into with Oracle.
00013 *
00014 * This notice may not be removed or altered.
00015 */
00016 #ifndef COH_OPERATIONAL_CONTEXT_HPP
00017 #define COH_OPERATIONAL_CONTEXT_HPP
00018 
00019 #include "coherence/lang.ns"
00020 
00021 #include "coherence/net/Member.hpp"
00022 #include "coherence/run/xml/XmlElement.hpp"
00023 #include "coherence/security/IdentityAsserter.hpp"
00024 #include "coherence/security/IdentityTransformer.hpp"
00025 #include "coherence/util/Map.hpp"
00026 
00027 COH_OPEN_NAMESPACE2(coherence,net)
00028 
00029 using coherence::run::xml::XmlElement;
00030 using coherence::security::IdentityAsserter;
00031 using coherence::security::IdentityTransformer;
00032 using coherence::util::Map;
00033 
00034 
00035 /**
00036 * OperationalContext is an interface for providing Oracle Coherence
00037 * operational configuration.
00038 *
00039 * @author phf  2010.10.28
00040 *
00041 * @since Coherence 3.7
00042 */
00043 class COH_EXPORT OperationalContext
00044     : public interface_spec<OperationalContext>
00045     {
00046     // ----- OperationalContext interface -----------------------------------
00047 
00048     public:
00049         /**
00050         * Get the product edition.
00051         *
00052         * @return the product edition
00053         */
00054         virtual int32_t getEdition() const = 0;
00055 
00056         /**
00057         * Get the product edition in a formatted string.
00058         *
00059         * @return the product edition in a formatted string
00060         */
00061         virtual String::View getEditionName() const = 0;
00062 
00063         /**
00064         * Return a Member object representing this process.
00065         *
00066         * @return the local Member
00067         */
00068         virtual Member::View getLocalMember() const = 0;
00069 
00070         /**
00071         * Return a Map of network filter factories.
00072         *
00073         * @return a Map of WrapperStreamFactory instances keyed by filter
00074         *         name
00075         */
00076         virtual Map::View getFilterMap() const = 0;
00077 
00078         /**
00079         * Return an IdentityAsserter that can be used to establish a user's
00080         * identity.
00081         *
00082         * @return the IdentityAsserter
00083         */
00084         virtual IdentityAsserter::View getIdentityAsserter() const = 0;
00085 
00086         /**
00087         * Return an IdentityTransformer that can be used to transform a
00088         * Subject into an identity assertion.
00089         *
00090         * @return the IdentityTransformer
00091         */
00092         virtual IdentityTransformer::View getIdentityTransformer() const = 0;
00093 
00094         /**
00095         * Indicates if Subject scoping is enabled.
00096         *
00097         * @return true if subject scoping is enabled
00098         */
00099         virtual bool isSubjectScopingEnabled() const = 0;
00100 
00101         /**
00102         * Return the logging severity level.
00103         *
00104         * @return the logging severity level
00105         */
00106         virtual int32_t getLogLevel() const = 0;
00107 
00108         /**
00109         * Return the maximum number of characters for a logger daemon to
00110         * queue before truncating.
00111         *
00112         * @return the maximum number of characters for a logger daemon
00113         *         to queue before truncating
00114         */
00115         virtual int32_t getLogCharacterLimit() const = 0;
00116 
00117         /**
00118         * Return the log message format.
00119         *
00120         * @return the log message format
00121         */
00122         virtual String::View getLogMessageFormat() const = 0;
00123 
00124         /**
00125         * Return the destination for log messages.
00126         *
00127         * @return the destination for log messages
00128         */
00129         virtual String::View getLogDestination() const = 0;
00130     };
00131 
00132 COH_CLOSE_NAMESPACE2
00133 
00134 #endif // COH_OPERATIONAL_CONTEXT_HPP
Copyright © 2000, 2011, Oracle and/or its affiliates. All rights reserved.