This repository was archived by the owner on Jul 8, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdbaccess.go
More file actions
70 lines (52 loc) · 2.46 KB
/
dbaccess.go
File metadata and controls
70 lines (52 loc) · 2.46 KB
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
65
66
67
68
69
70
/*
Copyright © 2014–5 Brad Ackerman.
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 evego
import (
"io"
)
// Database is an object that returns information about items in EVE.
type Database interface {
io.Closer
// Items
ItemForName(itemName string) (*Item, error)
ItemForID(itemID int) (*Item, error)
ItemsForIDs(itemIDs []int) ([]*Item, error)
ItemComposition(itemID int) ([]InventoryLine, error)
MarketGroupForItem(item *Item) (*MarketGroup, error)
// Universe locations
SolarSystemForID(systemID int) (*SolarSystem, error)
SolarSystemForName(systemName string) (*SolarSystem, error)
SolarSystemsForPattern(systemName string) ([]SolarSystem, error)
RegionForName(regionName string) (*Region, error)
StationForID(stationID int) (*Station, error)
StationsForName(stationName string) ([]Station, error)
// Blueprints, invention, and manufacturing
// BlueprintOutputs returns the items and quantity of each that can be output
// by performing industrial actions on a blueprint given that blueprint's name
// (typeName) as a string. The type name may include the percent (%) character
// as a wildcard.
BlueprintOutputs(typeName string) ([]IndustryActivity, error)
// BlueprintForProduct returns the blueprints that can produce a given output.
BlueprintForProduct(typeName string) ([]IndustryActivity, error)
// BlueprintsUsingMaterial returns the blueprints that use the given input material
// in an industrial process (manufacturing, invention, etc.)
BlueprintsUsingMaterial(typeName string) ([]IndustryActivity, error)
// BlueprintProductionInputs returns the required materials for one run
// of production on an unresearched (ME 0% / TE 0%) blueprint. It takes as
// parameters the blueprint to be used and the selected output product.
BlueprintProductionInputs(
typeName string, outputTypeName string) ([]InventoryLine, error)
// ReprocessOutputMaterials produces a list of all materials that are possible
// outputs from reprocessing.
ReprocessOutputMaterials() ([]Item, error)
}