# Work location

### Get work location

{% tabs %}
{% tab title="Swift" %}

```swift
//importing the framework
import GeoUniq

...

let work: GUWorkLocation? = GeoUniq.sharedInstance().getWorkLocation()

...
```

{% endtab %}

{% tab title="Objective-C" %}

```objectivec
//importing the framework
#import "GeoUniq/GeoUniq-Swift.h"
...

GUHomeLocation* home = [[GeoUniq sharedInstance] getWorkLocation];

...

```

{% endtab %}
{% endtabs %}

### Set work location listener

{% tabs %}
{% tab title="Swift" %}

```swift
//importing the framework
import GeoUniq

...

GeoUniq.sharedInstance().setWorkLocationListener(listener: ClassTest)

...
```

{% endtab %}

{% tab title="Objective-C" %}

```objectivec
//importing the framework
#import "GeoUniq/GeoUniq-Swift.h"
...

[[GeoUniq sharedInstance] setWorkLocationListenerWithListener:[ClassTest class]];

...

```

{% endtab %}
{% endtabs %}

where ClassTest is conform to protocol `GUWorkLocationListener:`

```swift
/**
 *  Delegate to implement in order to receive callbacks for the work location updates
 */
@objc public protocol GUWorkLocationListener {
	
	/**
	 Public constructor
	 */
	@objc init()
	
	/**
	 Called when a new work location is detected
	 
	 - parameter work: Work location detected
	 */
	@objc func onNewWorkLocationDetected(work: GUWorkLocation) -> ()
}

```

### Remove work location listener

{% tabs %}
{% tab title="Swift" %}

```swift
//importing the framework
import GeoUniq

...

GeoUniq.sharedInstance().removeWorkLocationListener(listener: ClassTest)

...
```

{% endtab %}

{% tab title="Objective-C" %}

```objectivec
//importing the framework
#import "GeoUniq/GeoUniq-Swift.h"
...

[[GeoUniq sharedInstance] removeWorkLocationListenerWithListener:[ClassTest class]];

...

```

{% endtab %}
{% endtabs %}

### Get work location listeners

{% tabs %}
{% tab title="Swift" %}

```swift
//importing the framework
import GeoUniq

...

let workLocationListeners: [GUWorkLocation]? = GeoUniq.sharedInstance().getWorkLocationListeners()

...
```

{% endtab %}

{% tab title="Objective-C" %}

```objectivec
//importing the framework
#import "GeoUniq/GeoUniq-Swift.h"
...

NSArray *listeners = [[GeoUniq sharedInstance] getWorkLocationListeners];

...

```

{% endtab %}
{% endtabs %}

### Remove work location listeners

{% tabs %}
{% tab title="Swift" %}

```swift
//importing the framework
import GeoUniq

...

GeoUniq.sharedInstance().removeWorkLocationListeners()

...
```

{% endtab %}

{% tab title="Objective-C" %}

```objectivec
//importing the framework
#import "GeoUniq/GeoUniq-Swift.h"
...

[[GeoUniq sharedInstance] removeWorkLocationListeners];

...
```

{% endtab %}
{% endtabs %}
