当前位置: 首页>>代码示例>>C++>>正文


C++ client::contact方法代码示例

本文整理汇总了C++中client::contact方法的典型用法代码示例。如果您正苦于以下问题:C++ client::contact方法的具体用法?C++ client::contact怎么用?C++ client::contact使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在client的用法示例。


在下文中一共展示了client::contact方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: async_submit_job

inline error_code async_submit_job(client const &client, char const *rsl, JobSubmitCallback const &job_submit_callback, int state_mask, StateChangeCallback const &state_chage_callback)
{
	typedef listen_state_op<StateChangeCallback, non_blocking> listen_state_op_type;
	listen_state_op_type *listener_op = new listen_state_op_type(state_chage_callback);

	char *callback_contact(0);
	int const callback_allowed(
		::globus_gram_client_callback_allow(
			&listen_state_op<StateChangeCallback, non_blocking>::callback,
			listener_op, &callback_contact));
	if (callback_allowed != GLOBUS_SUCCESS)
	{
		delete listener_op;
		return static_cast<error_code>(callback_allowed);
	}

	job_submit_op<JobSubmitCallback> *op = new job_submit_op<JobSubmitCallback>(job_submit_callback);
	int const job_requested(
		::globus_gram_client_register_job_request(
			client.contact(), rsl, state_mask, callback_contact, 0, &job_submit_op<JobSubmitCallback>::callback, op));
	if (job_requested != GLOBUS_SUCCESS)
	{
		delete listener_op;
		delete op;
		return static_cast<error_code>(job_requested);
	}
	return no_error;
}
开发者ID:hamazy,项目名称:globus_cxx,代码行数:28,代码来源:client.hpp

示例2: submit_job_wait_until

inline error_code submit_job_wait_until(client const &client, char const *rsl, int state_mask, StateChangeListener const &listener)
{
	listen_state_op<StateChangeListener, blocking> listener_op(listener);

	char *callback_contact(0);
	int const callback_allowed(
		::globus_gram_client_callback_allow(
			&listen_state_op<StateChangeListener, blocking>::callback,
			&listener_op, &callback_contact));
	if (callback_allowed != GLOBUS_SUCCESS) return static_cast<error_code>(callback_allowed);
	listener_op.listen();

	char *job_contact(0);
	int const job_requested(
		::globus_gram_client_job_request(
			client.contact(), rsl, state_mask, callback_contact, &job_contact));
	if (job_requested != GLOBUS_SUCCESS)
	{
		listener_op.cancel();
		return static_cast<error_code>(job_requested);
	}

	typedef std::pointer_to_unary_function<void *,void> function_type;
	globus::util::on_exit<function_type> free_contact(
		std::ptr_fun(::free), job_contact);

	return no_error;
}
开发者ID:hamazy,项目名称:globus_cxx,代码行数:28,代码来源:client.hpp


注:本文中的client::contact方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。