private string getExistingProfileName(profiles profile) { switch (profile) { case profiles.one: if (profileOneExists) { return(profileOne); } else { return(null); } case profiles.two: if (profileTwoExists) { return(profileTwo); } else { return(null); } default: if (profileThreeExists) { return(profileThree); } else { return(null); } } }
public String getProfileName(profiles profile) { switch (profile) { case profiles.one: if (profileOneExists) { return(profileOne); } else { return("New..."); } case profiles.two: if (profileTwoExists) { return(profileTwo); } else { return("New..."); } default: if (profileThreeExists) { return(profileThree); } else { return("New..."); } } }
public ManageProfiles(String profileName, profiles profile) { if (File.Exists(getProfileName(profile))) { File.Delete("Assets/" + getProfileName(profile)); } setProfile(profileName, profile); }
public bool ProfileExists(profiles profile) { switch (profile) { case profiles.one: return(profileOneExists); case profiles.two: return(profileTwoExists); case profiles.three: return(profileThreeExists); } return(false); }
public void setProfile(String newName, profiles profile) { ProfileConstants.activeProfile = profile; if (File.Exists("Assets/" + getProfileName(profile))) { File.Delete("Assets/" + getProfileName(profile)); } switch (profile) { case profiles.one: profileOne = newName; profileOneExists = true; break; case profiles.two: profileTwo = newName; profileTwoExists = true; break; case profiles.three: profileThree = newName; profileThreeExists = true; break; } saveManageProfiles(); }
public void deleteProfile(profiles profile) { if (File.Exists("Assets/" + getProfileName(profile))) { File.Delete("Assets/" + getProfileName(profile)); } switch (profile) { case profiles.one: profileOne = ""; profileOneExists = false; break; case profiles.two: profileTwo = ""; profileTwoExists = false; break; case profiles.three: profileThree = ""; profileThreeExists = false; break; } }
static void publish(int domain_id, int sample_count) { /* There are several different approaches for loading QoS profiles from * XML files (see Configuring QoS with XML chapter in the RTI Connext * Core Libraries and Utilities User's Manual). In this example we * illustrate two of them: * * 1) Creating a file named USER_QOS_PROFILES.xml, which is loaded, * automatically by the DomainParticipantFactory. In this case, the file * defines a QoS profile named volatile_profile that configures reliable, * volatile DataWriters and DataReaders. * * 2) Adding XML documents to the DomainParticipantFactory using its * Profile QoSPolicy (DDS Extension). In this case, we add * my_custom_qos_profiles.xml to the url_profile sequence, which stores * the URLs of all the XML documents with QoS policies that are loaded * by the DomainParticipantFactory aside from the ones that are * automatically loaded. * my_custom_qos_profiles.xml defines a QoS profile named * transient_local_profile that configures reliable, transient local * DataWriters and DataReaders. */ /* To load my_custom_qos_profiles.xml, as explained above, we need to * modify the DDSTheParticipantFactory Profile QoSPolicy */ DDS.DomainParticipantFactoryQos factory_qos = new DDS.DomainParticipantFactoryQos(); DDS.DomainParticipantFactory.get_instance().get_qos(factory_qos); /* We are only going to add one XML file to the url_profile sequence, * so we ensure a length of 1,1. */ factory_qos.profile.url_profile.ensure_length(1, 1); /* The XML file will be loaded from the working directory. That means, * you need to run the example like this: * ./objs/<architecture>/profiles_publisher * (see README.txt for more information on how to run the example). * * Note that you can specify the absolute path of the XML QoS file to * avoid this problem. */ factory_qos.profile.url_profile.set_at(0, "file://my_custom_qos_profiles.xml"); DDS.DomainParticipantFactory.get_instance().set_qos(factory_qos); // --- Create participant --- // /* Our default Qos profile, volatile_profile, sets the participant name. * This is the only participant_qos policy that we change in our * example. As this is done in the default QoS profile, we don't need * to specify its name, so we can create the participant using the * create_participant() method rather than using * create_participant_with_profile(). */ DDS.DomainParticipant participant = DDS.DomainParticipantFactory.get_instance().create_participant( domain_id, DDS.DomainParticipantFactory.PARTICIPANT_QOS_DEFAULT, null /* listener */, DDS.StatusMask.STATUS_MASK_NONE); if (participant == null) { shutdown(participant); throw new ApplicationException("create_participant error"); } // --- Create publisher --- // /* We haven't changed the publisher_qos in any of QoS profiles we use in * this example, so we can just use the create_publisher() method. If * you want to load an specific profile in which you may have changed * the publisher_qos, use the create_publisher_with_profile() method. */ DDS.Publisher publisher = participant.create_publisher( DDS.DomainParticipant.PUBLISHER_QOS_DEFAULT, null /* listener */, DDS.StatusMask.STATUS_MASK_NONE); if (publisher == null) { shutdown(participant); throw new ApplicationException("create_publisher error"); } // --- Create topic --- // /* Register type before creating topic */ System.String type_name = profilesTypeSupport.get_type_name(); try { profilesTypeSupport.register_type( participant, type_name); } catch (DDS.Exception e) { Console.WriteLine("register_type error {0}", e); shutdown(participant); throw e; } /* We haven't changed the topic_qos in any of QoS profiles we use in * this example, so we can just use the create_topic() method. If you * want to load an specific profile in which you may have changed the * topic_qos, use the create_topic_with_profile() method. */ DDS.Topic topic = participant.create_topic( "Example profiles", type_name, DDS.DomainParticipant.TOPIC_QOS_DEFAULT, null /* listener */, DDS.StatusMask.STATUS_MASK_NONE); if (topic == null) { shutdown(participant); throw new ApplicationException("create_topic error"); } // --- Create writers --- // /* Volatile writer -- As volatile_profile is the default qos profile * we don't need to specify the profile we are going to use, we can * just call create_datawriter passing DDS_DATAWRITER_QOS_DEFAULT. */ DDS.DataWriter writer_volatile = publisher.create_datawriter( topic, DDS.Publisher.DATAWRITER_QOS_DEFAULT, null /* listener */, DDS.StatusMask.STATUS_MASK_NONE); if (writer_volatile == null) { shutdown(participant); throw new ApplicationException("create_datawriter error"); } /* Transient Local writer -- In this case we use * create_datawriter_with_profile, because we have to use a profile * other than the default one. This profile has been defined in * my_custom_qos_profiles.xml, but since we already loaded the XML file * we don't need to specify anything else. */ DDS.DataWriter writer_transient_local = publisher.create_datawriter( topic, DDS.Publisher.DATAWRITER_QOS_DEFAULT, null /* listener */, DDS.StatusMask.STATUS_MASK_NONE); if (writer_transient_local == null) { shutdown(participant); throw new ApplicationException("create_datawriter error"); } profilesDataWriter profiles_writer_volatile = (profilesDataWriter)writer_volatile; profilesDataWriter profiles_writer_transient_local = (profilesDataWriter)writer_transient_local; // --- Write --- // /* Create data sample for writing */ profiles instance = profilesTypeSupport.create_data(); if (instance == null) { shutdown(participant); throw new ApplicationException( "profilesTypeSupport.create_data error"); } /* For a data type that has a key, if the same instance is going to be * written multiple times, initialize the key here * and register the keyed instance prior to writing */ DDS.InstanceHandle_t instance_handle = DDS.InstanceHandle_t.HANDLE_NIL; /* * instance_handle = profiles_writer.register_instance(instance); */ /* Main loop */ const System.Int32 send_period = 1000; // milliseconds for (int count = 0; (sample_count == 0) || (count < sample_count); ++count) { Console.WriteLine("Writing profiles, count {0}", count); /* Modify the data to be sent here */ instance.profile_name = "volatile_profile"; instance.x = count; Console.WriteLine("Writing profile_name = " + instance.profile_name + "\t x = " + instance.x); try { profiles_writer_volatile.write(instance, ref instance_handle); } catch (DDS.Exception e) { Console.WriteLine("write volatile error {0}", e); } instance.profile_name = "transient_local_profile"; instance.x = count; Console.WriteLine("Writing profile_name = " + instance.profile_name + "\t x = " + instance.x + "\n"); try { profiles_writer_transient_local.write(instance, ref instance_handle); } catch (DDS.Exception e) { Console.WriteLine("write transient local error {0}", e); } System.Threading.Thread.Sleep(send_period); } /* * try { * profiles_writer.unregister_instance( * instance, ref instance_handle); * } catch(DDS.Exception e) { * Console.WriteLine("unregister instance error: {0}", e); * } */ // --- Shutdown --- // /* Delete data sample */ try { profilesTypeSupport.delete_data(instance); } catch (DDS.Exception e) { Console.WriteLine( "profilesTypeSupport.delete_data error: {0}", e); } /* Delete all entities */ shutdown(participant); }
var(profiles, err) = ParseProfiles(profile);
set => this.RaiseAndSetIfChanged(ref profiles, value);
static void publish(int domain_id, int sample_count) { // --- Create participant --- // /* * This example uses a built-in QoS profile to enable monitoring on the * DomainParticipant. The code below loads the XML QoS from the * USER_QOS_PROFILES.xml file, which is inheriting from the * "BuiltinQoSLib::Generic.Monitoring.Common" profile to enable monitoring. * * !!!! NOTE: This example will only work when dynamically linking !!! * In Visual Studio, change the target to "Debug DLL" or "Release DLL" * to build. */ /* To customize participant QoS, use * the configuration file USER_QOS_PROFILES.xml */ DDS.DomainParticipant participant = DDS.DomainParticipantFactory.get_instance().create_participant( domain_id, DDS.DomainParticipantFactory.PARTICIPANT_QOS_DEFAULT, null, DDS.StatusMask.STATUS_MASK_NONE); /* If you want to change the DomainParticipant's QoS * programmatically rather than using the XML file, you will need * to add the following lines to your code and comment out the * create_participant call above. * * This example uses a built-in QoS profile to enable * monitoring on the DomainParticipant. */ /* * DDS.DomainParticipant participant = DDS.DomainParticipantFactory.get_instance(). * create_participant_with_profile(domain_id, "BuiltinQosLib", * "Generic.Monitoring.Common", null, * DDS.StatusMask.STATUS_MASK_NONE); */ if (participant == null) { shutdown(participant); throw new ApplicationException("create_participant error"); } // --- Create publisher --- // /* To customize publisher QoS, use * the configuration file USER_QOS_PROFILES.xml */ DDS.Publisher publisher = participant.create_publisher( DDS.DomainParticipant.PUBLISHER_QOS_DEFAULT, null /* listener */, DDS.StatusMask.STATUS_MASK_NONE); if (publisher == null) { shutdown(participant); throw new ApplicationException("create_publisher error"); } // --- Create topic --- // /* Register type before creating topic */ System.String type_name = profilesTypeSupport.get_type_name(); try { profilesTypeSupport.register_type( participant, type_name); } catch (DDS.Exception e) { Console.WriteLine("register_type error {0}", e); shutdown(participant); throw e; } /* To customize topic QoS, use * the configuration file USER_QOS_PROFILES.xml */ DDS.Topic topic = participant.create_topic( "Example profiles", type_name, DDS.DomainParticipant.TOPIC_QOS_DEFAULT, null /* listener */, DDS.StatusMask.STATUS_MASK_NONE); if (topic == null) { shutdown(participant); throw new ApplicationException("create_topic error"); } // --- Create writer --- // /* To customize data writer QoS, use * the configuration file USER_QOS_PROFILES.xml */ DDS.DataWriter writer = publisher.create_datawriter( topic, DDS.Publisher.DATAWRITER_QOS_DEFAULT, null, DDS.StatusMask.STATUS_MASK_NONE); /* If you want to change the DataWriter's QoS programatically rather * than using the XML file, you will need to add the following lines to * your code and comment out the create_datawriter call above. * * This example uses a built-in QoS profile to tune the QoS for * reliable streaming data. */ /*DDS.DataWriter writer = publisher.create_datawriter_with_profile( * topic, DDS.BuiltinQosProfiles.BUILTIN_QOS_LIB_EXP, * DDS.BuiltinQosProfiles.PROFILE_PATTERN_RELIABLE_STREAMING, * null, DDS.StatusMask.STATUS_MASK_NONE); */ if (writer == null) { shutdown(participant); throw new ApplicationException("create_datawriter error"); } profilesDataWriter profiles_writer = (profilesDataWriter)writer; // --- Write --- // /* Create data sample for writing */ profiles instance = profilesTypeSupport.create_data(); if (instance == null) { shutdown(participant); throw new ApplicationException( "profilesTypeSupport.create_data error"); } /* For a data type that has a key, if the same instance is going to be * written multiple times, initialize the key here * and register the keyed instance prior to writing */ DDS.InstanceHandle_t instance_handle = DDS.InstanceHandle_t.HANDLE_NIL; /* * instance_handle = profiles_writer.register_instance(instance); */ /* Main loop */ const System.Int32 send_period = 1000; // milliseconds for (int count = 0; (sample_count == 0) || (count < sample_count); ++count) { Console.WriteLine("Writing profiles, count {0}", count); /* Modify the data to be sent here */ try { profiles_writer.write(instance, ref instance_handle); } catch (DDS.Exception e) { Console.WriteLine("write error {0}", e); } System.Threading.Thread.Sleep(send_period); } /* * try { * profiles_writer.unregister_instance( * instance, ref instance_handle); * } catch(DDS.Exception e) { * Console.WriteLine("unregister instance error: {0}", e); * } */ // --- Shutdown --- // /* Delete data sample */ try { profilesTypeSupport.delete_data(instance); } catch (DDS.Exception e) { Console.WriteLine( "profilesTypeSupport.delete_data error: {0}", e); } /* Delete all entities */ shutdown(participant); }