package events;
import org.omg.CORBA.*;
import java.lang.*;
public class Synchronized_Any
{
private ORB orb_;
private Any any;
public Synchronized_Any(ORB o )
{
orb_=o;
any=orb_.create_any();
}
///////////////////////////////////////
// Extraction d'un type primitif IDL
///////////////////////////////////////
public synchronized String extract_string()
{
return new String(any.extract_string());
}
public synchronized long extract_long()
{
return any.extract_long();
}
public synchronized double extract_double()
{
return any.extract_double();
}
///////////////////////////////////////
// Insertion d'un type primitif IDL
///////////////////////////////////////
public synchronized void insert_string(String s)
{
any.insert_string(new String(s));
}
public synchronized void insert_long(int l)
{
any.insert_long(l);
}
public synchronized void insert_double(double d)
{
any.insert_double(d);
}
///////////////////////////////////////
// Affectation/copie depuis un Any
///////////////////////////////////////
public synchronized void set(Any a)
{
Any duplicated_any=orb_.create_any();
TypeCode type=a.type();
int kind = type.kind().value();
switch(kind)
{
case org.omg.CORBA.TCKind._tk_long:
duplicated_any.insert_long(a.extract_long());
break;
case org.omg.CORBA.TCKind._tk_string:
duplicated_any.insert_string(new String(a.extract_string()));
break;
case org.omg.CORBA.TCKind._tk_double:
duplicated_any.insert_double(a.extract_double());
break;
}
any=duplicated_any;
}
///////////////////////////////////////
// Consultation/copie vers un Any
///////////////////////////////////////
public synchronized Any get()
{
Any duplicated_any=orb_.create_any();
TypeCode type=any.type();
int kind = type.kind().value();
switch(kind)
{
case org.omg.CORBA.TCKind._tk_long:
duplicated_any.insert_long(any.extract_long());
break;
case org.omg.CORBA.TCKind._tk_string:
duplicated_any.insert_string(new String(any.extract_string()));
break;
case org.omg.CORBA.TCKind._tk_double:
duplicated_any.insert_double(any.extract_double());
break;
}
return duplicated_any;
}
}