# sandesha2_sender_mgr.h

Go to the documentation of this file.

    00001 /*
    00002  * Copyright 2004,2005 The Apache Software Foundation.
    00003  *
    00004  * Licensed under the Apache License, Version 2.0 (the "License");
    00005  * you may not use this file except in compliance with the License.
    00006  * You may obtain a copy of the License at
    00007  *
    00008  *      http://www.apache.org/licenses/LICENSE-2.0
    00009  *
    00010  * Unless required by applicable law or agreed to in writing, software
    00011  * distributed under the License is distributed on an "AS IS" BASIS,
    00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00013  * See the License for the specific language governing permissions and
    00014  * limitations under the License.
    00015  */
    00016
    00017 #ifndef SANDESHA2_SENDER_MGR_H
    00018 #define SANDESHA2_SENDER_MGR_H
    00019
    00025 #include <axutil_allocator.h>
    00026 #include <axutil_env.h>
    00027 #include <axutil_error.h>
    00028 #include <axutil_string.h>
    00029 #include <axutil_utils.h>
    00030 #include <axis2_ctx.h>
    00031 #include <axutil_array_list.h>
    00032 #include <sandesha2_sender_bean.h>
    00033
    00034 #ifdef __cplusplus
    00035 extern "C"
    00036 {
    00037 #endif
    00038
    00039 typedef struct sandesha2_sender_mgr sandesha2_sender_mgr_t;
    00040 typedef struct sandesha2_sender_mgr_ops sandesha2_sender_mgr_ops_t;
    00041
    00046 AXIS2_DECLARE_DATA struct sandesha2_sender_mgr_ops
    00047 {
    00052     void (AXIS2_CALL *
    00053             free)(
    00054                 sandesha2_sender_mgr_t *sender,
    00055                 const axutil_env_t *env);
    00056
    00057     axis2_bool_t (AXIS2_CALL *
    00058             insert)(
    00059                 sandesha2_sender_mgr_t *sender,
    00060                 const axutil_env_t *env,
    00061                 sandesha2_sender_bean_t *bean);
    00062
    00063     axis2_bool_t (AXIS2_CALL *
    00064             remove)(
    00065                 sandesha2_sender_mgr_t *sender,
    00066                 const axutil_env_t *env,
    00067                 axis2_char_t *msg_id);
    00068
    00069     sandesha2_sender_bean_t *(AXIS2_CALL *
    00070             retrieve)(
    00071                 sandesha2_sender_mgr_t *sender,
    00072                 const axutil_env_t *env,
    00073                 axis2_char_t *msg_id);
    00074
    00075     axis2_bool_t (AXIS2_CALL *
    00076             update)(
    00077                 sandesha2_sender_mgr_t *sender,
    00078                 const axutil_env_t *env,
    00079                 sandesha2_sender_bean_t *bean);
    00080
    00081     axutil_array_list_t *(AXIS2_CALL *
    00082             find_by_internal_seq_id)(
    00083                 sandesha2_sender_mgr_t *sender,
    00084                 const axutil_env_t *env,
    00085                 axis2_char_t *internal_seq_id);
    00086
    00087     axutil_array_list_t *(AXIS2_CALL *
    00088             find_by_sender_bean)(
    00089                 sandesha2_sender_mgr_t *sender,
    00090                 const axutil_env_t *env,
    00091                 sandesha2_sender_bean_t *bean);
    00092
    00093     sandesha2_sender_bean_t *(AXIS2_CALL *
    00094             find_unique)(
    00095                 sandesha2_sender_mgr_t *sender,
    00096                 const axutil_env_t *env,
    00097                 sandesha2_sender_bean_t *bean);
    00098
    00099     sandesha2_sender_bean_t *(AXIS2_CALL *
    00100             get_application_msg_to_send)(
    00101                 sandesha2_sender_mgr_t *sender,
    00102                 const axutil_env_t *env,
    00103                 const axis2_char_t *seq_id,
    00104                 const axis2_char_t *msg_id);
    00105
    00106     sandesha2_sender_bean_t *(AXIS2_CALL *
    00107             get_next_msg_to_send)(
    00108                 sandesha2_sender_mgr_t *sender,
    00109                 const axutil_env_t *env,
    00110                 const axis2_char_t *seq_id);
    00111 };
    00112
    00113 AXIS2_DECLARE_DATA struct sandesha2_sender_mgr
    00114 {
    00115     sandesha2_sender_mgr_ops_t ops;
    00116 };
    00117
    00118 AXIS2_EXTERN sandesha2_sender_mgr_t * AXIS2_CALL
    00119 sandesha2_sender_mgr_create(
    00120     const axutil_env_t *env,
    00121     axis2_char_t *dbname);
    00122
    00123 void AXIS2_CALL
    00124 sandesha2_sender_mgr_free(
    00125     sandesha2_sender_mgr_t *sender,
    00126     const axutil_env_t *envv);
    00127
    00128 axis2_bool_t AXIS2_CALL
    00129 sandesha2_sender_mgr_insert(
    00130     sandesha2_sender_mgr_t *sender,
    00131     const axutil_env_t *env,
    00132     sandesha2_sender_bean_t *bean);
    00133
    00134 axis2_bool_t AXIS2_CALL
    00135 sandesha2_sender_mgr_remove(
    00136     sandesha2_sender_mgr_t *sender,
    00137     const axutil_env_t *env,
    00138     axis2_char_t *msg_id);
    00139
    00140 sandesha2_sender_bean_t *AXIS2_CALL
    00141 sandesha2_sender_mgr_retrieve(
    00142     sandesha2_sender_mgr_t *sender,
    00143     const axutil_env_t *env,
    00144     axis2_char_t *msg_id);
    00145
    00146 axis2_bool_t AXIS2_CALL
    00147 sandesha2_sender_mgr_update(
    00148     sandesha2_sender_mgr_t *sender,
    00149     const axutil_env_t *env,
    00150     sandesha2_sender_bean_t *bean);
    00151
    00152 axutil_array_list_t *AXIS2_CALL
    00153 sandesha2_sender_mgr_find_by_internal_seq_id(
    00154     sandesha2_sender_mgr_t *sender,
    00155     const axutil_env_t *env,
    00156     axis2_char_t *internal_seq_id);
    00157
    00158 axutil_array_list_t *AXIS2_CALL
    00159 sandesha2_sender_mgr_find_by_sender_bean(
    00160     sandesha2_sender_mgr_t *sender,
    00161     const axutil_env_t *env,
    00162     sandesha2_sender_bean_t *bean);
    00163
    00164 sandesha2_sender_bean_t *AXIS2_CALL
    00165 sandesha2_sender_mgr_find_unique(
    00166     sandesha2_sender_mgr_t *sender,
    00167     const axutil_env_t *env,
    00168     sandesha2_sender_bean_t *bean);
    00169
    00170 sandesha2_sender_bean_t *AXIS2_CALL
    00171 sandesha2_sender_mgr_get_application_msg_to_send(
    00172     sandesha2_sender_mgr_t *sender,
    00173     const axutil_env_t *env,
    00174     const axis2_char_t *seq_id,
    00175     const axis2_char_t *msg_id);
    00176
    00177 sandesha2_sender_bean_t *AXIS2_CALL
    00178 sandesha2_sender_mgr_get_next_msg_to_send(
    00179     sandesha2_sender_mgr_t *sender,
    00180     const axutil_env_t *env,
    00181     const axis2_char_t *seq_id);
    00182
    00184 #ifdef __cplusplus
    00185 }
    00186 #endif
    00187 #endif /* SANDESHA2_SENDER_MGR_H */