// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.example.firemarkers.di

import com.example.firemarkers.data.FirebaseConnection
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton

/**
 * The Hilt module for providing dependencies to the application.
 *
 * This module is responsible for providing the [FirebaseConnection] as a singleton dependency
 * to the application.
 */
@Module
@InstallIn(SingletonComponent::class)
object AppModule {

    /**
     * Provides a singleton instance of the [FirebaseConnection].
     *
     * @return A singleton instance of the [FirebaseConnection].
     */
    @Provides
    @Singleton
    fun provideFirebaseConnection(): FirebaseConnection {
        return FirebaseConnection()
    }
}
