001package jmri.jmrit.vsdecoder; 002 003import jmri.DccLocoAddress; 004import jmri.LocoAddress; 005import jmri.jmrit.roster.RosterEntry; 006import jmri.util.PhysicalLocation; 007 008/** 009 * Data capsule ("Model"?) for passing configuration between the GUI and the 010 * VSDecoder itself. 011 * 012 * <hr> 013 * This file is part of JMRI. 014 * <p> 015 * JMRI is free software; you can redistribute it and/or modify it under 016 * the terms of version 2 of the GNU General Public License as published 017 * by the Free Software Foundation. See the "COPYING" file for a copy 018 * of this license. 019 * <p> 020 * JMRI is distributed in the hope that it will be useful, but WITHOUT 021 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 022 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 023 * for more details. 024 * 025 * @author Mark Underwood Copyright (C) 2011 026 */ 027public class VSDConfig { 028 029 public float DEFAULT_VOLUME = 0.8f; 030 031 private String my_id; 032 private String vsd_path; 033 private String profile_name; 034 private LocoAddress address; 035 private float volume; 036 private PhysicalLocation location; 037 private RosterEntry roster; 038 039 public VSDConfig() { 040 // umm... do... nothing? here... 041 my_id = ""; 042 vsd_path = ""; 043 profile_name = ""; 044 address = null; 045 volume = DEFAULT_VOLUME; 046 location = null; 047 roster = null; 048 } 049 050 public String getId() { 051 return my_id; 052 } 053 054 public String getVSDPath() { 055 return vsd_path; 056 } 057 058 public String getProfileName() { 059 return profile_name; 060 } 061 062 public LocoAddress getLocoAddress() { 063 return address; 064 } 065 066 public DccLocoAddress getDccAddress() { 067 return new DccLocoAddress(address.getNumber(), address.getProtocol()); 068 } 069 070 public float getVolume() { 071 return volume; 072 } 073 074 public PhysicalLocation getPhysicalLocation() { 075 return location; 076 } 077 078 public RosterEntry getRosterEntry() { 079 return roster; 080 } 081 082 public void setId(String id) { 083 my_id = id; 084 } 085 086 public void setVSDPath(String path) { 087 vsd_path = path; 088 } 089 090 public void setProfileName(String name) { 091 profile_name = name; 092 } 093 094 public void setLocoAddress(LocoAddress a) { 095 address = a; 096 } 097 098 public void setVolume(float v) { 099 volume = v; 100 } 101 102 public void setPhysicalLocation(PhysicalLocation p) { 103 location = p; 104 } 105 106 public void setRosterEntry(RosterEntry r) { 107 roster = r; 108 } 109 110 @Override 111 public String toString() { 112 return ("Config: ID:" + my_id 113 + " Path:" + vsd_path 114 + " Profile:" + profile_name 115 + " Addr:" + address 116 + " Vol:" + volume 117 + " Loc:" + location); 118 } 119 120}