summaryrefslogtreecommitdiff
path: root/src/args/ArgsTypeA.java
blob: 0fd9a1e11663368199f5fe1fcdd96c01a567d23c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package org.manzerbredes.open_klm.args;

import java.util.HashMap;

import org.javatuples.Pair;
import org.manzerbredes.open_klm.drivers.Driver;
import org.manzerbredes.open_klm.drivers.DriverTypeA;
import org.manzerbredes.open_klm.drivers.DriverTypeA.*;

/**
 * Parse args for DriverTypeA
 * 
 * @author Manzerbredes
 *
 */
public class ArgsTypeA implements Args{
	/**
	 * Define Keyboard primary color state
	 */
	private HashMap<Region, Pair<Color,Intensity>> primaryColorsState=new HashMap<>();
	
	/**
	 * Define Keyboard secondary color state (for wave)
	 */
	private HashMap<Region, Pair<Color,Intensity>> secondaryColorsState=new HashMap<>();
	
	/**
	 * Define Keyboard mode state
	 */
	private Mode mode=Mode.NORMAL;
	
	
	/**
	 * Build a ArgsTypeA
	 * 
	 * @param driver The driver to use
	 */
	public ArgsTypeA(){
		// Init primary color state
		this.primaryColorsState.put(Region.LEFT, new Pair<DriverTypeA.Color, DriverTypeA.Intensity>(Color.OFF, Intensity.HIGH));
		this.primaryColorsState.put(Region.MIDDLE, new Pair<DriverTypeA.Color, DriverTypeA.Intensity>(Color.OFF, Intensity.HIGH));
		this.primaryColorsState.put(Region.RIGHT, new Pair<DriverTypeA.Color, DriverTypeA.Intensity>(Color.OFF, Intensity.HIGH));
		// Init secondary color state
		this.secondaryColorsState.put(Region.LEFT, new Pair<DriverTypeA.Color, DriverTypeA.Intensity>(Color.OFF, Intensity.LOW));
		this.secondaryColorsState.put(Region.MIDDLE, new Pair<DriverTypeA.Color, DriverTypeA.Intensity>(Color.OFF, Intensity.LOW));
		this.secondaryColorsState.put(Region.RIGHT, new Pair<DriverTypeA.Color, DriverTypeA.Intensity>(Color.OFF, Intensity.LOW));
		// Init mode
		this.mode=Mode.NORMAL;
	}
	
	@Override
	public void applyAndExit(Driver aDriver, String[] args){
		if(aDriver.getType().equals(DriverTypeA.class)){
			
			//TODO Parse and apply args with args4j
			
			System.exit(0);
		}
		
		// Error invalid driver
		System.exit(1);
	}
	
}