blob: e527c228a9eda6ac8f16035827f4117d92fb2b9d [file] [log] [blame]
/**********************************************************************
// @@@ START COPYRIGHT @@@
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//
// @@@ END COPYRIGHT @@@
**********************************************************************/
//
// MODULE: CA.IDL
//
// PURPOSE: Describes methods for ODBC Cluster Administrator
//
// NOTES: Intentionally not dependent on any other component in ODBC
// to avoid cyclical references that can not be resolved currently.
// there are several declarations that are common because of this,
// and it is imagined that they will eventually be re-partitioned
// without the need for duplication.
//
// Modification History
#ifndef _CA_DEFINED
#define _CA_DEFINED
module CA {
// used to simulate a unique id for interface
// concatates elements
// major = x01, minor = x00, build = x0001
typedef long long VERSION_def;
typedef string UUID_def;
#define cm_uuid ((UUID_def) "e0c3d230-e045-11d1-a57d-0060b01ad6ae")
#define cm_version ((VERSION_def) 16777217)
// Object reference
//
typedef char OMX_IDENTIFIER_def[128];
typedef long OMX_UID_def;
typedef string<3000> ERROR_TEXT_def;
typedef struct CA_ERROR_DESC_t {
long ErrDiagnosticId;
ERROR_TEXT_def ErrText;
} CA_ERROR_DESC_def;
typedef sequence<CA_ERROR_DESC_def> CA_ERROR_DESC_LIST_def;
// used to describe the current state of the ODBC system
// as well as to indicate a change directive
typedef enum OMX_STATUS_t {
OMX_UNKNOWN
,OMX_STOPPED
,OMX_STOPPING
,OMX_STARTING
,OMX_STARTED
} OMX_STATUS_def;
interface Svc
{
exception ParamError {string ErrText;};
exception Error {string ErrText;};
exception DuplicateRegistry{};
// used by Association Service to register for FailOver protection
void RegSvc ( in OMX_IDENTIFIER_def ObjRef
,in OMX_IDENTIFIER_def ObjMachineNm
,in string<128> ProcessNm
,in string<128> ProcessTitle
,in long DSId
,in long NodeNum
,in long DebugFlag
)
raises (ParamError
,Error
,DuplicateRegistry);
// used to indicate that the Association Server is broadcasting
// a Stop request, signalling CA to gracefully shutdown
void ShutdownSvc()
raises (Error);
// used to indicate that the services has failed
// signalling CA to shutdown immediately
void AbortSvc()
raises (Error);
// used as a signal between AS and CA servers. will eventually
// have parameters and timestamps but for now...
void KeepAlive ()
raises (Error);
}; // end of interface CA_Svc
}; // end of module CA
#endif