Esempio n. 1
0
static test_StrArray_slice *
ArrayServer_opStrArray(PortableServer_Servant _servant,
					   const test_StrArray inArg,
					   test_StrArray inoutArg,
					   test_StrArray_slice ** outArg,
					   CORBA_Environment * ev)
{
  int i;
  test_StrArray_slice *retn;
  for(i=0;i<test_SequenceLen;i++)
	g_assert(strcmp(inArg[i],constants_SEQ_STRING_IN[i])==0);

  for(i=0;i<test_SequenceLen;i++)
	g_assert(strcmp(inoutArg[i],constants_SEQ_STRING_INOUT_IN[i])==0);

  for(i=0;i<test_SequenceLen;i++){
	CORBA_free(inoutArg[i]);
	inoutArg[i] = CORBA_string_dup(constants_SEQ_STRING_INOUT_OUT[i]);
  }

  *outArg = test_StrArray__alloc();
  for(i=0;i<test_SequenceLen;i++)
	(*outArg)[i] = CORBA_string_dup(constants_SEQ_STRING_OUT[i]);
  
  retn = test_StrArray__alloc();
  for(i=0;i<test_SequenceLen;i++)
	retn[i] = CORBA_string_dup(constants_SEQ_STRING_RETN[i]);
  
  return retn;  
}
static void remap_hsp(gpointer key,gpointer data,gpointer user_data)
{
  HSPset * set = (HSPset*)data;
  Wise2HSP_HSPmanager* manager = (Wise2HSP_HSPmanager*) user_data;
  int pos;

  int i;

  pos = manager->target._length++;

  /* first off, allocate and store this target */

  manager->target._buffer[pos].target.name = CORBA_string_dup(set->hsp[0]->target->name);
  manager->target._buffer[pos].target.seq  = CORBA_string_dup(set->hsp[0]->target->seq);
  
  manager->target._buffer[pos].hsp._buffer  = CORBA_sequence_Wise2HSP_HSPinfo_allocbuf(set->len);
  manager->target._buffer[pos].hsp._maximum =set->len;
  manager->target._buffer[pos].hsp._length  =set->len;
  
  for(i=0;i<set->len;i++) {
    manager->target._buffer[pos].hsp._buffer[i].query_start   = set->hsp[i]->query_start;
    manager->target._buffer[pos].hsp._buffer[i].target_start  = set->hsp[i]->target_start;
    manager->target._buffer[pos].hsp._buffer[i].length        = set->hsp[i]->length;
    manager->target._buffer[pos].hsp._buffer[i].score         = set->hsp[i]->score;
  }
    
  return;
}
static Wise2HSP_HSPtargetset *
impl_Wise2HSP_HSP_ts_iterator_next(impl_POA_Wise2HSP_HSP_ts_iterator * servant,
				   CORBA_Environment * ev)
{
   Wise2HSP_HSPtargetset *retval;
   HSPset * s;
   int i;


   s = servant->lm->set[servant->current_pos];

   /*   fprintf(stderr,"Going to pass to client %d block %s\n",servant->current_pos,s->hsp[0]->target->name);*/

   retval = Wise2HSP_HSPtargetset__alloc();

   /* do we need to worry about string dup's ... probably!*/
   retval->target.name = CORBA_string_dup(s->hsp[0]->target->name);
   retval->target.seq  = CORBA_string_dup(s->hsp[0]->target->seq);
   
   retval->hsp._buffer =  CORBA_sequence_Wise2HSP_HSPinfo_allocbuf(s->len);
   retval->hsp._maximum = retval->hsp._length = s->len;
   
  for(i=0;i<s->len;i++) {
    retval->hsp._buffer[i].query_start   = s->hsp[i]->query_start;
    retval->hsp._buffer[i].target_start  = s->hsp[i]->target_start;
    retval->hsp._buffer[i].length        = s->hsp[i]->length;
    retval->hsp._buffer[i].score         = s->hsp[i]->score;
  }

   servant->current_pos++;

   /*   fprintf(stderr,"Going to return with score %d length %d\n",s->score,s->len); */

   return retval;
}
Esempio n. 4
0
static GNOME_C_Mngr_ManufacturerList *
impl_get_devices (PortableServer_Servant servant, CORBA_Environment *ev)
{
	KncCMngr *m = KNC_C_MNGR (bonobo_object (servant));
	GNOME_C_Mngr_ManufacturerList *l;
	unsigned int i, j, k, n, o;
	GPPortInfo info;
	int c;

	l = GNOME_C_Mngr_ManufacturerList__alloc ();

	/* List all manufacturers */
	l->_buffer = GNOME_C_Mngr_ManufacturerList_allocbuf (
						knc_count_devices ());
	l->_length = 0;
	for (i = 0; i < knc_count_devices (); i++) {
	    for (j = 0; j < l->_length; j++)
		if (!strcmp (l->_buffer[j].manufacturer,
			     knc_get_device_manufacturer (i))) break;
	    if (j == l->_length) {
		l->_length++;
		l->_buffer[j].manufacturer = CORBA_string_dup (
				knc_get_device_manufacturer (i));
		l->_buffer[j].models._length = 0;
		l->_buffer[j].models._buffer =
			GNOME_C_Mngr_ModelList_allocbuf (knc_count_devices ());

		/* List all models */
		for (k = 0; k < knc_count_devices (); k++) {
		    if (strcmp (l->_buffer[j].manufacturer,
			        knc_get_device_manufacturer (k))) continue;
		    n = l->_buffer[j].models._length;
		    l->_buffer[j].models._length++;
		    l->_buffer[j].models._buffer[n].model =
			    CORBA_string_dup (knc_get_device_model (k));

		    /* List all serial ports */
		    c = gp_port_info_list_count (m->priv->il);
		    l->_buffer[j].models._buffer[n].ports._length = 0;
		    l->_buffer[j].models._buffer[n].ports._buffer =
			    CORBA_sequence_CORBA_string_allocbuf (MAX (c, 0));
		    for (o = 0; o < MAX (c, 0); o++) {
			gp_port_info_list_get_info (m->priv->il, o, &info);
			if (info.type == GP_PORT_SERIAL) {
			    l->_buffer[j].models._buffer[n].ports._buffer[
				l->_buffer[j].models._buffer[n].ports._length] =
					CORBA_string_dup (info.name);
			    l->_buffer[j].models._buffer[n].ports._length++;
			}
		    }
		}
	    }
	}
	CORBA_sequence_set_release (l, CORBA_TRUE);

	return l;
}
Esempio n. 5
0
static CORBA_char *
BasicServer_opString (PortableServer_Servant   servant,
		      const CORBA_char        *inArg, 
		      CORBA_char             **inoutArg,
		      CORBA_char             **outArg,
		      CORBA_Environment       *ev)
{
	g_assert (!strcmp (inArg, constants_STRING_IN));
	g_assert (!strcmp (*inoutArg, constants_STRING_INOUT_IN));

	CORBA_free (*inoutArg);
	*inoutArg = CORBA_string_dup (constants_STRING_INOUT_OUT);
	*outArg = CORBA_string_dup (constants_STRING_OUT);

	return CORBA_string_dup (constants_STRING_RETN);
}
void
MateComponent_ActivationProperty_copy (MateComponent_ActivationProperty       *copy,
                                const MateComponent_ActivationProperty *original)
{
	copy->name = CORBA_string_dup (original->name);
	MateComponent_ActivationPropertyValue_copy (&copy->v, &original->v);
}
Esempio n. 7
0
static CORBA_string
impl_accessibility_application_get_locale (PortableServer_Servant servant,
					   Accessibility_LOCALE_TYPE lctype,
					   CORBA_Environment *ev)
{
    int category;
    switch (lctype) 
    {
	case Accessibility_LOCALE_TYPE_COLLATE:
	    category = LC_COLLATE;
	    break;
	case Accessibility_LOCALE_TYPE_CTYPE:
	    category = LC_CTYPE;
	    break;
	case Accessibility_LOCALE_TYPE_MONETARY:
	    category = LC_MONETARY;
	    break;
	case Accessibility_LOCALE_TYPE_NUMERIC:
	    category = LC_NUMERIC;
	    break;
	case Accessibility_LOCALE_TYPE_MESSAGES:
	default:
	    category = LC_MESSAGES;
	    break;
    }
    return CORBA_string_dup (setlocale (category, NULL));
}
Esempio n. 8
0
static void
MateCORBA_service_list_add_id (CORBA_string                    key,
			   gpointer                        value,
			   struct MateCORBA_service_list_info *info)
{
	info->list->_buffer [info->index++] = CORBA_string_dup (key);
}
/**
 * AccessibleStreamableContent_open:
 * @obj: a pointer to the #AccessibleStreamableContent implementor on which to operate.
 * @content_type: a string specifying the content type to retrieve (should match one
 * of the return strings from #AccessibleStreamableContent_getContentTypes ()).
 *
 * Open a streaming connection to an AccessibleStreamableContent implementor,
 *       of a particular content type.  Note that a client may only have one
 *       open stream per streamable interface instance in the current 
 *       implementation.
 *
 * @Since: AT-SPI 1.4
 *
 * Returns: #TRUE if successful, #FALSE if unsuccessful.
 *
 **/
SPIBoolean
AccessibleStreamableContent_open (AccessibleStreamableContent *obj,
				  const char *content_type)
{
  Accessibility_ContentStream stream;
  struct StreamCacheItem *cache;
  stream = Accessibility_StreamableContent_getStream (CSPI_OBJREF (obj),
						      content_type,
						      cspi_ev ());
  cspi_return_val_if_ev ("getContent", FALSE); 

  if (stream != CORBA_OBJECT_NIL) {
    cache = g_new0 (struct StreamCacheItem, 1);
    cache->stream = stream;
    cache->mimetype = CORBA_string_dup (content_type);

    g_hash_table_replace (get_streams (), CSPI_OBJREF (obj), cache);
    /* FIXME 
     * This limits us to one concurrent stream per streamable interface
     * for a given client.
     * It might be reasonable for a client to open more than one stream
     * to content, in different mime-types, at the same time.
     */

    return TRUE;
  }
Esempio n. 10
0
static CORBA_string
impl_getLocale (PortableServer_Servant servant,
		CORBA_Environment *ev)
{
  const gchar *lc;
  AtkDocument *document = get_document_from_servant (servant);

  g_return_val_if_fail (document != NULL, "");

  lc = atk_document_get_locale (document);

  if (lc)
    return CORBA_string_dup (lc);
  else
      return CORBA_string_dup (""); /* Should we return 'C' by default? */
}
static CORBA_EnumMemberSeq *
MateCORBA_imodule_get_enum_members (IDL_tree           tree,
				CORBA_Environment *ev)
{
	CORBA_EnumMemberSeq *members;
	IDL_tree             l;
	int                  num_members = 0;
	int                  i;

	g_return_val_if_fail (IDL_NODE_TYPE (tree) == IDLN_TYPE_ENUM, NULL);

	num_members = IDL_list_length (IDL_TYPE_ENUM (tree).enumerator_list);

	members = CORBA_EnumMemberSeq__alloc ();

	members->_length  = members->_maximum = num_members;
	members->_buffer  = CORBA_EnumMemberSeq_allocbuf (members->_length);
	members->_release = CORBA_TRUE;

	for (i = 0, l = IDL_TYPE_ENUM (tree).enumerator_list; l; i++, l = IDL_LIST (l).next)
		members->_buffer [i] = CORBA_string_dup (IDL_IDENT (IDL_LIST (l).data).str);

	g_assert (i == num_members);

	return members;
}
Esempio n. 12
0
File: util.c Progetto: GNOME/at-spi
void
spi_init_any_rect (CORBA_any *any_details, 
		   Accessibility_Application app, 
		   Accessibility_Role role,
		   CORBA_string name, 
		   AtkRectangle *rect)
{
  Accessibility_EventDetails *details = Accessibility_EventDetails__alloc();
  Accessibility_BoundingBox *box = Accessibility_BoundingBox__alloc ();

  any_details->_type = TC_Accessibility_EventDetails;
  any_details->_value = details;
  any_details->_release = TRUE;

  details->host_application = app;
  details->source_role = role;
  details->source_name = CORBA_string_dup (name);
  
  box->x = rect->x;
  box->y = rect->y;
  box->width = rect->width;
  box->height = rect->height;
  details->any_data._type = TC_Accessibility_BoundingBox;
  details->any_data._value = box;
  details->any_data._release = TRUE;
}
Esempio n. 13
0
static GNOME_GnoCam_PortList *
impl_GNOME_GnoCam_getPortList (PortableServer_Servant servant,
				       CORBA_Environment *ev)
{
	GnoCamMain *gm;
	GNOME_GnoCam_PortList *list;
	GPPortInfoList *il = NULL;
	GPPortInfo info;
	int n, i;

	gm = GNOCAM_MAIN (bonobo_object_from_servant (servant));

	gp_port_info_list_new (&il);
	gp_port_info_list_load (il);
	n = MAX (0, gp_port_info_list_count (il));

	list = GNOME_GnoCam_PortList__alloc ();
	list->_buffer = CORBA_sequence_CORBA_string_allocbuf (n);
	for (i = 0; i < n; i++) {
		if (gp_port_info_list_get_info (il, i, &info) >= 0) {
			list->_buffer[list->_length] =
				CORBA_string_dup (info.name);
			list->_length++;
		}
	}
	CORBA_sequence_set_release (list, TRUE);
	gp_port_info_list_free (il);

	return (list);
}
Esempio n. 14
0
static void
get_object_names (gpointer key, gpointer value, gpointer user_data)
{
    GSList **l = user_data;

    *l = g_slist_prepend (*l, CORBA_string_dup (key));
}
Esempio n. 15
0
static CORBA_char *
impl_Bonobo_UIComponent_describeVerbs (PortableServer_Servant servant,
				       CORBA_Environment     *ev)
{
	g_warning ("FIXME: Describe verbs unimplemented");
	return CORBA_string_dup ("<NoUIVerbDescriptionCodeYet/>");
}
void
CORBA_NVList_add_item (CORBA_NVList             list,
		       const CORBA_char        *item_name,
		       const CORBA_TypeCode     item_type,
		       const CORBA_OpaqueValue  value,
		       const CORBA_long         value_len,
		       const CORBA_Flags        item_flags,
		       CORBA_Environment       *ev)
{
	CORBA_NamedValue newval;

	g_assert (list != NULL);

	newval.name = CORBA_string_dup (item_name);

	newval.argument._type = MateCORBA_RootObject_duplicate (
		item_type);

	if (item_flags & CORBA_IN_COPY_VALUE) {
		newval.argument._value = MateCORBA_copy_value (
			value, item_type);
		newval.argument._release = CORBA_TRUE;
	} else {
		newval.argument._value = value;
		newval.argument._release = CORBA_FALSE;
	}

	newval.len = value_len; /* Is this even useful? *sigh* */
	newval.arg_modes = item_flags;

	g_array_append_val (list->list, newval);
}
Esempio n. 17
0
static void
test_ORBit_alloc (void)
{
	gpointer p;
	int      i;

	p = ORBit_alloc_string (100);
	g_assert ((gulong)p & 0x1);
	for (i = 0; i < 100; i++)
		((guchar *)p) [i] = i;
	CORBA_free (p);

	p = CORBA_string_dup ("Foo");
	g_assert (((gulong)p & 0x1));
	CORBA_free (p);

	p = ORBit_alloc_simple (100);
	g_assert (!((gulong)p & 0x1));
	for (i = 0; i < 100; i++)
		((guchar *)p) [i] = i;
	CORBA_free (p);

	p = ORBit_alloc_tcval (TC_CORBA_sequence_CORBA_octet, 1);
	g_assert (!((gulong)p & 0x1));
	CORBA_free (p);

	p = ORBit_alloc_tcval (TC_ORBit_IInterface, 8);
	g_assert (!((gulong)p & 0x1));
	CORBA_free (p);
}
Esempio n. 18
0
Wise2Corba_Singleton * get_Wise2Corba_Singleton(int * argc,char ** argv,char * init_string)
{

  if( static_init_string != NULL ) {
    if( strcmp(static_init_string,init_string) == 0 ) {
      return &singleton;
    } else {
      fprintf(stderr,"Trouble! Asked for orbs of different types %s and %s",init_string,static_init_string);
      return NULL;
    }
  }

  /* else, initiate orb */

  singleton.ev = g_new0(CORBA_Environment,1);

  CORBA_exception_init(singleton.ev);
  singleton.orb = CORBA_ORB_init(argc,argv,init_string,singleton.ev);
  /* FIXME: Exception check! */
  singleton.poa = (PortableServer_POA)CORBA_ORB_resolve_initial_references(singleton.orb,
									   "RootPOA",singleton.ev);

  static_init_string = CORBA_string_dup(init_string);

  return &singleton;
}
Esempio n. 19
0
static GNOME_GnoCam_ModelList *
impl_GNOME_GnoCam_getModelList (PortableServer_Servant servant,
					CORBA_Environment *ev)
{
	GnoCamMain *gm;
	GNOME_GnoCam_ModelList *list;
	CameraAbilitiesList *al = NULL;
	int n, i;
	CameraAbilities a;

	gm = GNOCAM_MAIN (bonobo_object_from_servant (servant));

	gp_abilities_list_new (&al);
	gp_abilities_list_load (al, NULL);
	n = MAX (0, gp_abilities_list_count (al));
	list = GNOME_GnoCam_ModelList__alloc ();
	list->_buffer = CORBA_sequence_CORBA_string_allocbuf (n);
	for (i = 0; i < n; i++) {
		if (gp_abilities_list_get_abilities (al, i, &a) >= 0) {
			list->_buffer[list->_length] =
				CORBA_string_dup (a.model);
			list->_length++;
		}
	}
	CORBA_sequence_set_release (list, TRUE);
	gp_abilities_list_free (al);

	return (list);
}
static CORBA_char*
impl_MateComponent_Persist_getIId (PortableServer_Servant   servant,
			    CORBA_Environment       *ev)
{
	MateComponentPersist *persist = matecomponent_persist_from_servant (servant);

	return CORBA_string_dup (persist->priv->iid);
}
Esempio n. 21
0
static CORBA_char*
impl_Bonobo_Persist_getIId (PortableServer_Servant   servant,
			    CORBA_Environment       *ev)
{
	BonoboPersist *persist = bonobo_persist_from_servant (servant);

	return CORBA_string_dup (persist->priv->iid);
}
Esempio n. 22
0
static CORBA_string 
impl_getAttributeValue (PortableServer_Servant servant,
			const CORBA_char *attributename,
			CORBA_Environment *ev){

  const gchar *atr;
  
  AtkDocument *document = get_document_from_servant (servant);
   
  g_return_val_if_fail (document != NULL, "");

  atr = atk_document_get_attribute_value (document, attributename);

  if (atr)
    return CORBA_string_dup (atr);
  else
    return CORBA_string_dup ("");
}
Esempio n. 23
0
/*
 * CORBA Accessibility::Accessible::getLocalizedRole method implementation
 */
static CORBA_char *
impl_accessibility_accessible_get_local_role_name (PortableServer_Servant servant,
						   CORBA_Environment     *ev)
{
  const gchar     *role_name;
  AtkRole    role;
  AtkObject *object = get_atkobject_from_servant (servant);

  g_return_val_if_fail (object != NULL, NULL);

  role = atk_object_get_role (object);

  role_name = atk_role_get_localized_name (role);
  if (role_name)
    return CORBA_string_dup (role_name);
  else
    return CORBA_string_dup ("");
}
CORBA_Object 
etk_name_service_resolve (CosNaming_NamingContext  name_service,
			  gchar                   *id_vec[], 
			  CORBA_Environment       *ev)
{
	CORBA_Object retval = CORBA_OBJECT_NIL;
	gint i = 0;
	gint len = id_vec_len (id_vec);

	/* Allocate a CosNaming::Name (sequence of CosNaming::NameComponent) */
	CosNaming_Name *name = CosNaming_Name__alloc();

	g_assert (id_vec_len (id_vec) > 0);

	name->_buffer = CORBA_sequence_CosNaming_NameComponent_allocbuf(len);
	name->_maximum = len;
	name->_length  = 0;
	
	/* Relinquish ownership of the NameComponent to the
         * sequence. When CORBA_free is called on it later, the
         * NameComponent will be freed */	
	CORBA_sequence_set_release (name, TRUE);

	/* iterate components of name and create sub-context
	 * (directory) if needed */ 
	for (i = 0; i < len; ++i) {
		name->_length = i+1;
		name->_buffer[i].id   = CORBA_string_dup(id_vec[i]);
		name->_buffer[i].kind = CORBA_string_dup(""); 
		/* don't know what 'kind' shall be good for */ 
	}
	
	retval = CosNaming_NamingContext_resolve (name_service, 
						  name, 
						  ev);
	
	if (etk_raised_exception (ev)) { 
		CORBA_free (name);
		return CORBA_OBJECT_NIL;
	}
	
	return retval;
}
Esempio n. 25
0
static void
impl_GNOME_GnoCam_getCameraByModelAndPort (
		PortableServer_Servant servant, 
		Bonobo_Listener listener,
		const CORBA_char *model, const CORBA_char *port,
		CORBA_Environment *ev)
{
	IdleData *d;
	
	d = g_new0 (IdleData, 1);
	d->model = CORBA_string_dup (model);
	d->port = CORBA_string_dup (port);
	d->gm = GNOCAM_MAIN (bonobo_object_from_servant (servant));
	bonobo_object_ref (d->gm);
	d->listener = bonobo_object_dup_ref (listener, NULL);

	g_message ("Adding idle function...");
	g_idle_add (get_camera_idle, d);
}
Esempio n. 26
0
/**
 * SPI_dupString:
 * @s: a UTF-8 string to be duplicated
 * 
 * @Since: AT-SPI 1.4
 *
 * Returns: a duplicate of the string passed as a parameter, which should
 * be freed via SPI_freeString after use.
 **/
char *
SPI_dupString (char *s)
{
  if (s)
    {
      return CORBA_string_dup (s);
    }
  else 
    return NULL;
}
static CORBA_UnionMemberSeq *
MateCORBA_imodule_get_union_members (GHashTable        *typecodes,
				 IDL_tree           tree,
				 CORBA_TypeCode     switchtc,
				 CORBA_Environment *ev)
{
	CORBA_UnionMemberSeq *members;
	IDL_tree              l;
	int                   num_members = 0;
	int                   i;

	g_return_val_if_fail (IDL_NODE_TYPE (tree) == IDLN_TYPE_UNION, NULL);

	for (l = IDL_TYPE_UNION (tree).switch_body; l; l = IDL_LIST (l).next)
		num_members += IDL_list_length (IDL_CASE_STMT (IDL_LIST (l).data).labels);

	members = CORBA_UnionMemberSeq__alloc ();

	members->_length  = members->_maximum = num_members;
	members->_buffer  = CORBA_UnionMemberSeq_allocbuf (members->_length);
	members->_release = CORBA_TRUE;

	for (i = 0, l = IDL_TYPE_UNION (tree).switch_body; l; l = IDL_LIST (l).next) {
		CORBA_TypeCode subtc;
		IDL_tree       member, label, dcl;

		member = IDL_CASE_STMT (IDL_LIST (l).data).element_spec;
		g_assert (IDL_NODE_TYPE (member) == IDLN_MEMBER);

		subtc = MateCORBA_imodule_get_typecode (
				typecodes, IDL_MEMBER (member).type_spec);
		dcl = IDL_LIST (IDL_MEMBER (member).dcls).data;

		for (label = IDL_CASE_STMT (IDL_LIST (l).data).labels; label;
		     label = IDL_LIST (label).next, i++) {
			CORBA_UnionMember *umember = &members->_buffer [i];

			MateCORBA_imodule_setup_label_any (
				switchtc, IDL_LIST (label).data, &umember->label);

			umember->label._release = CORBA_TRUE;

			umember->name     = CORBA_string_dup (IDL_IDENT (dcl).str);
			umember->type     = (CORBA_TypeCode)
						CORBA_Object_duplicate ((CORBA_Object) subtc, ev);
			umember->type_def = CORBA_OBJECT_NIL; /* Not used? */
		}

		CORBA_Object_release ((CORBA_Object) subtc, ev);
	}

	g_assert (i == num_members);

	return members;
}
static Wise2HSP_HSPmanager * corba_manager_from_wise_manager(LinearHSPmanager * lm)
{
  Wise2HSP_HSPmanager* retval;
  int size;
  int i;
  int pos;

  size = lm->len;

  /* ok, we need to build the return structure now */

  retval = Wise2HSP_HSPmanager__alloc();
  retval->target._buffer  = CORBA_sequence_Wise2HSP_HSPtargetset_allocbuf(size);
  retval->target._length  = 0;
  retval->target._maximum = size;


  for(pos=0;pos<lm->len;pos++) {
    auto HSPset * set = lm->set[pos];

    retval->target._length++;
    
    /* first off, allocate and store this target */

    retval->target._buffer[pos].target.name = CORBA_string_dup(set->hsp[0]->target->name);
    retval->target._buffer[pos].target.seq  = CORBA_string_dup(set->hsp[0]->target->seq);
  
    retval->target._buffer[pos].hsp._buffer  = CORBA_sequence_Wise2HSP_HSPinfo_allocbuf(set->len);
    retval->target._buffer[pos].hsp._maximum =set->len;
    retval->target._buffer[pos].hsp._length  =set->len;
    
    for(i=0;i<set->len;i++) {
      retval->target._buffer[pos].hsp._buffer[i].query_start   = set->hsp[i]->query_start;
      retval->target._buffer[pos].hsp._buffer[i].target_start  = set->hsp[i]->target_start;
      retval->target._buffer[pos].hsp._buffer[i].length        = set->hsp[i]->length;
      retval->target._buffer[pos].hsp._buffer[i].score         = set->hsp[i]->score;
    }
    
  }

  return retval;
}
Esempio n. 29
0
static void
impl_upgradeFromVersion (PortableServer_Servant servant, const short major, const short minor, const short revision, CORBA_Environment *ev)
{
	MailComponent *component;
	CamelException ex;

	component = mail_component_peek ();

	camel_exception_init (&ex);
	if (em_migrate (e_get_user_data_dir (), major, minor, revision, &ex) == -1) {
		GNOME_Evolution_Component_UpgradeFailed *failedex;

		failedex = GNOME_Evolution_Component_UpgradeFailed__alloc();
		failedex->what = CORBA_string_dup(_("Failed upgrading Mail settings or folders."));
		failedex->why = CORBA_string_dup(ex.desc);
		CORBA_exception_set(ev, CORBA_USER_EXCEPTION, ex_GNOME_Evolution_Component_UpgradeFailed, failedex);
	}

	camel_exception_clear (&ex);
}
static void
test_copy (void)
{
	int i, j;
#define ELEMS (sizeof (tc) / sizeof (tc[0]))
	CORBA_TypeCode tc[] = {
		TC_CORBA_octet,
		TC_CORBA_sequence_CORBA_octet,
		TC_CORBA_double,
		TC_CORBA_string,
		TC_CORBA_sequence_CORBA_string,
		TC_GIOP_TargetAddress		
	};
	gpointer data [ELEMS];
	const char *test_string = "This is a sample string, for dupping";

	fprintf (stderr, "Testing copy...\n");

	for (i = 0; i < ELEMS; i++) {
		data [i] = ORBit_dynany_new_default (tc [i]);

		g_timer_reset (timer);
		for (j = 0; j < 1000; j++) {
			gpointer foo = ORBit_copy_value (data [i], tc [i]);
			CORBA_free (foo);
		}
		elapsed_time = g_timer_elapsed (timer, NULL);
		bogomark += elapsed_time;
		fprintf (stderr, " copy %20s : %g(ms)\n",
			tc[i]->repo_id == NULL ? "(null)" : tc[i]->repo_id,
			elapsed_time);
	}

	fprintf (stderr, "Testing strdup ...\n");

	g_timer_reset (timer);
	for (i = 0; i < 10000; i++) {
		char *str = g_strdup (test_string);
		g_free (str);
	}
	elapsed_time = g_timer_elapsed (timer, NULL) / 10.0;
	bogomark += elapsed_time;
	fprintf (stderr, " g_strdup :     %g(ns)\n", elapsed_time * 1000.0);
	
	g_timer_reset (timer);
	for (i = 0; i < 10000; i++) {
		char *str = CORBA_string_dup (test_string);
		CORBA_free (str);
	}
	elapsed_time = g_timer_elapsed (timer, NULL) / 10.0;
	bogomark += elapsed_time;
	fprintf (stderr, " CORBA_strdup : %g(ns)\n", elapsed_time * 1000.0);
}