# Home location

### Get home location

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

```swift
//importing the framework
import GeoUniq

...

let home: GUHomeLocation? = GeoUniq.sharedInstance().getHomeLocation()

...
```

{% endtab %}

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

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

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

...

```

{% endtab %}
{% endtabs %}

### Set home location listener

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

```swift
//importing the framework
import GeoUniq

...

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

...
```

{% endtab %}

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

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

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

...
```

{% endtab %}
{% endtabs %}

where ClassTest is conform to protocol `GUHomeLocationListener:`

```swift
/**
 *  Delegate to implement in order to receive callbacks for the home location updates
 */
@objc public protocol GUHomeLocationListener {
	
	/**
	 Public constructor
	 */
	@objc init()
	
	/**
	 Called when a new home location is detected
	 
	 - parameter GUHomeLocation: Home location detected
	 */
	@objc func onNewHomeLocationDetected(home: GUHomeLocation) -> ()
}

```

### Remove home location listener

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

```swift
//importing the framework
import GeoUniq

...

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

...
```

{% endtab %}

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

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

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

...
```

{% endtab %}
{% endtabs %}

### Get home location listeners

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

```swift
//importing the framework
import GeoUniq

...

let homeLocationListeners: [GUHomeLocation]? = GeoUniq.sharedInstance().getHomeLocationListeners()

...
```

{% endtab %}

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

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

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

...

```

{% endtab %}
{% endtabs %}

### Remove home location listeners

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

```swift
//importing the framework
import GeoUniq

...

GeoUniq.sharedInstance().removeHomeLocationListeners()

...
```

{% endtab %}

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

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

[[GeoUniq sharedInstance] removeHomeLocationListeners];

...
```

{% endtab %}
{% endtabs %}
